0% found this document useful (0 votes)
9 views67 pages

14455512

The document provides information about various eBooks related to Node.js development, including titles, authors, and ISBNs. It highlights the availability of digital formats and encourages readers to explore more eBooks on the website ebooknice.com. Additionally, it includes details about the author Andrew Mead and the content structure of the book 'Learning Node.js Development'.

Uploaded by

codenaster8n
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views67 pages

14455512

The document provides information about various eBooks related to Node.js development, including titles, authors, and ISBNs. It highlights the availability of digital formats and encourages readers to explore more eBooks on the website ebooknice.com. Additionally, it includes details about the author Andrew Mead and the content structure of the book 'Learning Node.js Development'.

Uploaded by

codenaster8n
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 67

Download Full Version ebook - Visit ebooknice.

com

(Ebook) Learning Node.js Development: Learn the


fundamentals of Node.js, and deploy and test
Node.js applications on the web by Andrew Mead
ISBN 9781788395540, 1788395549
https://ebooknice.com/product/learning-node-js-development-
learn-the-fundamentals-of-node-js-and-deploy-and-test-node-
js-applications-on-the-web-7227756

Click the button below to download

DOWLOAD EBOOK

Discover More Ebook - Explore Now at ebooknice.com


Instant digital products (PDF, ePub, MOBI) ready for you
Download now and discover formats that fit your needs...

Start reading on any device today!

(Ebook) Advanced Node.js Development by Andrew Mead ISBN


9781788393935, 1788393937

https://ebooknice.com/product/advanced-node-js-development-35497072

ebooknice.com

(Ebook) Ultimate Node.js for Cross-Platform App


Development: Learn to Build Robust, Scalable, and
Performant Server-Side JavaScript Applications with
Node.js (English Edition) by Kumar, Ramesh ISBN
https://ebooknice.com/product/ultimate-node-js-for-cross-platform-app-
9788196815158, 8196815158
development-learn-to-build-robust-scalable-and-performant-server-side-
javascript-applications-with-node-js-english-edition-55500574
ebooknice.com

(Ebook) Node.js Web Development by David Herron ISBN


9781785881503, 1785881507

https://ebooknice.com/product/node-js-web-development-6794442

ebooknice.com

(Ebook) RESTful Web API Design with Node.js 10: Learn to


create robust RESTful web services with Node.js, MongoDB,
and Express.js, 3rd Edition (English Edition) by Valentin
Bojinov ISBN 9781788623322, 1788623320
https://ebooknice.com/product/restful-web-api-design-with-node-
js-10-learn-to-create-robust-restful-web-services-with-node-js-
mongodb-and-express-js-3rd-edition-english-edition-11091994
ebooknice.com
(Ebook) Web Development with MongoDB and Node.js by Krol,
Jason ISBN 9781783987306, 1783987308

https://ebooknice.com/product/web-development-with-mongodb-and-node-
js-55923446

ebooknice.com

(Ebook) Node.js web development by Herron, David ISBN


9781785881503, 9781785885419, 1785881507, 1785885413

https://ebooknice.com/product/node-js-web-development-11655364

ebooknice.com

(Ebook) Pro Express.js: Master Express.js: The Node.js


Framework For Your Web Development by Mardan, Azat ISBN
9781484200384, 1484200381
https://ebooknice.com/product/pro-express-js-master-express-js-the-
node-js-framework-for-your-web-development-55892224

ebooknice.com

(Ebook) Node.js for PHP Developers: Porting PHP to Node.js


by Daniel Howard ISBN 9781449333607, 1449333605

https://ebooknice.com/product/node-js-for-php-developers-porting-php-
to-node-js-4078222

ebooknice.com

(Ebook) Fullstack Node.js: The Complete Guide to Building


Production Apps with Node.js by Davit Guttman; Nate Murray
(ed) ISBN 08671X
https://ebooknice.com/product/fullstack-node-js-the-complete-guide-to-
building-production-apps-with-node-js-11798290

ebooknice.com
Learning Node.js Development

-FBSOUIFGVOEBNFOUBMTPG/PEFKTBOEEFQMPZBOEUFTU
/PEFKTBQQMJDBUJPOTPOUIFXFC

Andrew Mead

BIRMINGHAM - MUMBAI
Learning Node.js Development
Copyright a 2018 Packt Publishing

All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form
or by any means, without the prior written permission of the publisher, except in the case of brief quotations
embedded in critical articles or reviews.

Every effort has been made in the preparation of this book to ensure the accuracy of the information presented.
However, the information contained in this book is sold without warranty, either express or implied. Neither the
author, nor Packt Publishing or its dealers and distributors, will be held liable for any damages caused or alleged to
have been caused directly or indirectly by this book.

Packt Publishing has endeavored to provide trademark information about all of the companies and products
mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy
of this information.

Acquisition Editor: Ben Renow-Clarke


Content Development Editor: Monika Sangwan
Technical Editors: Anupam Tiwari, Gaurav Gavas
Copy Editors: Safis Editing, Tom Jacob
Project Editor: Suzanne Coutinho
Proofreader: Safis Editing
Indexer: Pratik Shirodkar
Production Coordinator: Nilesh Mohite

First published: January 2018

Production reference: 1300118

Published by Packt Publishing Ltd.


Livery Place
35 Livery Street
Birmingham
B3 2PB, UK.

ISBN 978-1-78839-554-0

XXXQBDLUQVCDPN
NBQUJP

Mapt is an online digital library that gives you full access to over 5,000 books and videos, as
well as industry leading tools to help you plan your personal development and advance
your career. For more information, please visit our website.

Why subscribe?
Spend less time learning and more time coding with practical eBooks and Videos
from over 4,000 industry professionals

Improve your learning with Skill Plans built especially for you

Get a free eBook or video every month

Mapt is fully searchable

Copy and paste, print, and bookmark content

PacktPub.com
Did you know that Packt offers eBook versions of every book published, with PDF and
ePub files available? You can upgrade to the eBook version at XXX1BDLU1VCDPN and as a
print book customer, you are entitled to a discount on the eBook copy. Get in touch with us
at TFSWJDF!QBDLUQVCDPN for more details.

At XXX1BDLU1VCDPN, you can also read a collection of free technical articles, sign up for a
range of free newsletters, and receive exclusive discounts and offers on Packt books and
eBooks.
Contributor

About the author


Andrew Mead is a full-stack developer living in beautiful Philadelphia! He launched his
first Udemy course in 2014 and had a blast teaching and helping others. Since then, he has
launched 3 courses with over 21,000 students and over 1,900 5-star reviews.

Andrew currently teaches Node, Gulp, and React. Before he started teaching, he created a
web app development company. He has helped companies of all sizes launch production
web applications to their customers. He has had the honor of working with awesome
companies such as Siemens, Mixergy, and Parkloco. He has a Computer Science degree
from Temple University, and he has been programming for just over a decade. He loves
creating, programming, launching, learning, teaching, and biking.
Packt is searching for authors like you
If you're interested in becoming an author for Packt, please visit BVUIPSTQBDLUQVCDPN and
apply today. We have worked with thousands of developers and tech professionals, just
like you, to help them share their insight with the global tech community. You can make a
general application, apply for a specific hot topic that we are recruiting an author for, or
submit your own idea.
Table of Contents
Preface 1
Chapter 1: Getting Set Up 7
Node.js installation 7
Node.js version confirmation 9
Installing Node 11
Verifying installation 12
What is Node? 15
Differences between JavaScript coding using Node and in the browser 22
Why use Node 32
Blocking and non-blocking software development 34
The working of blocking I/O 36
The working non-blocking I/O 39
Blocking and non-blocking examples using Terminal 45
Node community – problem solving open source libraries 50
Different text editors for node applications 54
Hello World – creating and running the first Node app 55
Creating the Node application 55
Running the Node application 58
Summary 62
Chapter 2: Node Fundamentals – Part 1 63
Module basics 64
Using case for require() 65
Initialization of an application 65
The built-in module to use require() 68
Creating and appending files in the File System module 69
The OS module in require() 75
Concatenating user.username 80
Using template strings 81
Require own files 83
Making a new file to load other files 84
Exporting files from note.js to use in app.js 87
A simple example of the working of the exports object 88
Exporting the functions 90
Exercise – adding a new function to the export object 93
Solution to the exercise 94
Third-party modules 97
Table of Contents

Creating projects using npm modules 97


Installing the lodash module in our app 103
Installation of lodash 104
Using the utilities of lodash 106
Using the _.isString utility 109
Using _.uniq 111
The node_modules folder 114
Global modules 115
Installing the nodemon module 115
Executing nodemon 118
Getting input 121
Getting input from the user inside the command line 121
Accessing the command-line argument for the notes application 125
Adding if/else statements 125
Exercise – adding two else if clauses to an if block 128
Solution to the exercise 129
Getting the specific note information 132
Summary 136
Chapter 3: Node Fundamentals – Part 2 137
yargs 137
Installing yargs 138
Running yargs 139
Working with the add command 145
Working with the list command 148
The read command 151
Dealing with the errors in parsing commands 153
The remove command 155
Fetching command 157
JSON 159
Converting objects into strings 160
Defining a string and using in app as an object 163
Converting a string back to an object 163
Storing the string in a file 165
Writing the file in the playground folder 165
Reading out the content in the file 166
Adding and saving notes 170
Adding notes 170
Adding notes to the notes array 171
Fetching new notes 174
Trying and catching code block 176
Making the title unique 179
Refactoring 185

[ ii ]
Table of Contents

Moving functionality into individual functions 186


Working with fetchNotes 186
Working with saveNotes 188
Testing the functionality 189
Summary 195
Chapter 4: Node Fundamentals – Part 3 196
Removing a note 196
Using the removeNote function 196
Printing a message of removing notes 200
Reading note 204
Using the getNote function 205
Running the getNote function 208
The DRY principle 209
Using the logNote function 210
Debugging 213
Executing a program in debug mode 214
Working with debugging 218
Using debugger inside the notes application 222
Listing notes 225
Using the getAll function 225
Advanced yargs 230
Using chaining syntax on yargs 232
Calling the .help command 233
Adding the options object 234
Adding the title 235
Adding the body 237
Adding support to the read and remove commands 240
Adding the titleOption and bodyOption variables 241
Testing the remove command 242
Arrow functions 245
Using the arrow function 246
Exploring the difference between regular and arrow functions 249
Exploring the arguments array 252
Summary 254
Chapter 5: Basics of Asynchronous Programming in Node.js 256
The basic concept of asynchronous program 257
Illustrating the async programming model 258
Call stack and event loop 262
A synchronous program example 263
The call stack 263

[ iii ]
Table of Contents

Running the synchronous program 264


A complex synchronous program example 266
An async program example 270
The Node API in async programming 272
The callback queue in async programming 273
The event loop 274
Running the async code 275
Callback functions and APIs 280
The callback function 280
Creating the callback function 280
Running the callback function 284
Simulating delay using setTimeout 284
Making request to Geolocation API 285
Using Google Maps API data in our code 287
Installing the request package 288
Using request as a function 290
Running the request 292
Pretty printing objects 293
Using the body argument 294
Making up of the HTTPS requests 297
The response object 298
The error argument 303
Printing data from the body object 305
Printing the formatted address 305
Printing latitude and longitude 306
Summary 308
Chapter 6: Callbacks in Asynchronous Programming 309
Encoding user input 310
Installing yargs 310
Configuring yargs 312
Printing the address to screen 315
Encoding and decoding the strings 316
Encoding URI component 316
Decoding URI component 317
Pulling the address out of argv 317
Callback errors 320
Checking error in Google API request 321
Adding the if statement for callback errors 323
Adding if else statement to check body status property 324
Testing the body status property 325
Abstracting callbacks 327
Refactoring app.js and code into geocode.js file 328

[ iv ]
Visit https://ebooknice.com to
discover a wide range of
eBooks across various genres.
Enjoy exclusive deals and
discounts to enhance your
reading experience. Start your
digital reading journey today!
Table of Contents

Working on request statement 328


Creating geocode file 330
Adding callback function to geocodeAddress 333
Setting up the function in geocodeAddress function in app.js 333
Implementing the callback function in geocode.js file 334
Testing the callback function in geocode.js file 337
Wiring up weather search 338
Exploring working of API in the browser 338
Exploring the actual URL for code 343
Making a request for the weather app using the static URL 345
Error handling in the the callback function 347
Another way of error handling 349
Testing the error handling in callback 350
Chaining callbacks together 351
Refactoring our request call in weather.js file 352
Defining the new function getWeather in weather file 352
Providing weather directory in app.js 353
Passing the arguments in the getWeather function 354
Printing errorMessage in the getWeather function 355
Implementing getWeather callback inside weather.js file 356
Adding dynamic latitude and longitude 356
Changing console.log calls into callback calls 357
Chaining the geocodeAddress and getWeather callbacks together 359
Moving getWeather call into geocodeAddress function 360
Replacing static coordinates with dynamic coordinates 361
Testing the chaining of callbacks 362
Summary 363
Chapter 7: Promises in Asynchronous Programming 364
Introduction to ES6 promises 364
Creating an example promise 366
Calling the promise method then 368
Running the promise example in Terminal 369
Error handling in promises 370
Merits of promises 372
Advanced promises 374
Providing input to promises 374
Returning the promises 376
Promise chaining 378
Error handling in promises chaining 379
The catch method 381
The request library in promises 381
Testing the request library 385

[v]
Table of Contents

Weather app with promises 387


Fetching weather app code from the app.js file 387
Axios documentations 389
Installing axios 391
Making calls in the app-promise file 391
Making axios request 392
Error handling in axios request 394
Error handling with ZERO_RESULT body status 397
Generating the weather URL 399
Chaining the promise calls 400
Summary 403
Chapter 8: Web Servers in Node 404
Introducing Express 404
Configuring Express 405
Express docs website 407
Installing Express 408
Creating an app 410
Exploring the developer tools in the browser for the app request 413
Passing HTML to res.send 415
Sending JSON data back 416
Error handling in the JSON request 420
The static server 422
Making an HTML page 423
The head tag 424
The body tag 424
Serving the HTML page in the Express app 425
The call to app.listen 427
Rendering templates 428
Installing the hbs module 429
Configuring handlebars 430
Our first template 430
Getting the static page for rendering 431
Injecting data inside of templates 433
Rendering the template for the root of the website 436
Advanced templates 439
Adding partials 439
Working of partial 441
The Header partial 444
The Handlebars helper 448
Arguments in Helper 451
Express Middleware 453

[ vi ]
Table of Contents

Exploring middleware 454


Creating a logger 456
Printing message to file 460
The maintenance middleware without the next object 463
Testing the maintenance middleware 465
Summary 469
Chapter 9: Deploying Applications to Web 470
Adding version control 471
Installing Git 471
Git on macOS 475
Git on Windows 476
Testing the installation 476
Turning the node-web-server directory into a Git repository 477
Using Git 478
Adding untracked files to commit 480
Making a commit 486
Setting up GitHub and SSH keys 487
Setting up SSH keys 487
SSH keys documentations 488
Working on commands 489
Generating a key 489
Starting up the SSH agent 491
Configuring GitHub 493
Testing the configuration 498
Creating a new repository 499
Setting up the repository 502
Deploying the node app to the Web 505
Installing Heroku command-line tools 506
Log in to Heroku account locally 509
Getting SSH key to Heroku 511
Setting up in the application code for Heroku 515
Changes in the server.js file 515
Changes in the package.json file 517
Making a commit in Heroku 520
Running the Heroku create command 522
Summary 528
Chapter 10: Testing the Node Applications – Part 1 529
Basic testing 530
Installing the testing module 530
Testing a Node project 531
Mocha – the testing framework 533

[ vii ]
Table of Contents

Creating a test file for the add function 536


Creating the if condition for the test 539
Testing the squaring a number function 541
Autorestarting the tests 544
Using assertion libraries in testing Node modules 547
Exploring assertion libraries 549
Chaining multiple assertions 554
Multiple assertions for the square function 556
Exploring usage of expect with bogus test 558
Using toBe and toNotBe to compare array/objects 559
Using the toEqual and toNotEqual assertions 560
Using toInclude and toExclude 562
Testing the setName method 566
The asynchronous testing 571
Creating the asyncAdd function using the setTimeout object 572
Writing the test for the asyncAdd function 573
Making assertion for the asyncAdd function 574
Adding the done argument 575
The asynchronous testing for the square function 578
Creating the async square function 578
Writing test for asyncSquare 579
Making assertions for the asyncSquare function 580
Summary 581
Chapter 11: Testing the Node Applications – Part 2 582
Testing the Express application 582
Setting up testing for the Express app 583
Testing the Express app using SuperTest 585
The SuperTest documentation 586
Creating a test for the Express app 587
Writing the test for the Express app 589
Testing our first API request 590
Setting up custom status 593
Adding flexibility to SuperTest 596
Creating an express route 598
Writing the test for the express route 600
Organizing test with describe() 604
Adding describe() for individual methods 606
Adding the route describe block for the server.test.js file 608
Test spies 610
Creating a test file for spies 613
Creating a spy 614
Setting up spies assertions 615

[ viii ]
Table of Contents

More details out of spy assertion 617


Swapping of the function with spy 619
Installing and setting up the rewire function 619
Replacing db with the spy 620
Writing a test to verify swapping of the function 621
Summary 624
Conclusion 624
Another Book You May Enjoy 625
Leave a review - let other readers know what you think 626
Index 627

[ ix ]
Preface
Welcome to Learning Node.js Development. This book is packed with a ton of content,
projects, challenges and real-world examples, all designed to teach you Node by doing. This
means you'll be getting your hands dirty early on in the upcoming chapters writing some
code, and you'll be writing code for every project. You will be writing every line of code
that powers our applications. Now, we would require a text editor for this book. We have
various text editor options that you can use. I always recommend using Atom, which you
can find at BUPNJP. It's free, open-source, and it's available for all operating systems,
namely Linux, macOS, and Windows. It's created by the folks behind GitHub.

All the projects in the book are fun to build and they were designed to teach you everything
required to launch your own Node app, from planning to development and testing to
deploying. Now, as you launch these different Node applications and move through the
book, you will run into errors, which is bound to happen. Maybe something doesn't get
installed as expected, or maybe you try to run an app and instead of getting the expected
output, you get a really long obscure error message. Don't worry, I am there to help. I'll
show you tips and tricks to get pass through those errors in the chapters. Let's go ahead and
get to it.

Who this book is for


This book targets anyone looking to launch their own Node applications, switch careers, or
freelance as a Node developer. You should have a basic understanding of JavaScript in
order to follow this book.

What this book covers


$IBQUFS, Getting Set Up, talks about what Node is and why you want to use it. In this
chapter, you'll learn Node installation and by the end of the chapter, you'll be able to run
your first Node application.

$IBQUFS, Node Fundamentals - Part 1, talks about building Node applications. The Node
Fundamentals topic has been divided into 3 parts. Part 1 of this topic includes module basics,
requiring own files, and third-party NPM modules.
Preface

$IBQUFS, Node Fundamentals - Part 2, continues our discussion on some more Node
fundamentals. This chapter explores yargs, JSON, the addNote function, and refactor,
moving functionality into individual functions and testing the functionality.

$IBQUFS, Node Fundamentals - Part 3, includes things such as read and write from the file
system. We'll look into advanced yargs configuration, debugging broken apps, and some
new ES6 functions.

$IBQUFS, Basics of Asynchronous Programming in Node.js, covers basic concepts, terms, and
technologies related to the async programming, making it super-practical and using it in
our weather application.

$IBQUFS, Callbacks in Asynchronous Programming, is the second part of async programming


in Node. We'll look into callbacks, HTTPS requests, and error handling inside of our
callback functions. We'll also look into the forecast API and fetching real-time weather data
for our address.

$IBQUFS, Promises in Asynchronous Programming, is the third and last part of async
programming in Node. This chapter focuses on Promises, how it works, why they are
useful, and so on. At the end of this chapter, we'll use Promises in our weather app.

$IBQUFS, Web Servers in Node, talks about Node web servers and integrating version
control into Node applications. We'll also introduce a framework called Express, one of the
most important NPM libraries.

$IBQUFS, Deploying Applications to Web, talks about deploying the applications to the Web.
We'll be using Git, GitHub, and deploy our live app to the Web using these two services.

$IBQUFS, Testing the Node Applications- Part 1, talks about how we can test our code to
make sure it is working as expected. We'll work on setting up for testing and then writing
our test cases. We'll look into the basic testing framework and asynchronous testing.

$IBQUFS, Testing the Node Application - Part 2, continues our journey of testing Node
applications. In this chapter, we'll work on testing the Express applications and look into
some advanced methods of testing.

[2]
Preface

To get the most out of this book


A web browser, we'll be using Chrome throughout the course book but any browser will
do, and Terminal, sometimes known as the command line on Linux or the Command
Prompt on Windows. Atom as the text editor. The following list of modules will be used
throughout the course of this book:

lodash
nodemon
yargs
request
axios
express
hbs
heroku
rewire

Download the example code files


You can download the example code files for this book from your account at
XXXQBDLUQVCDPN. If you purchased this book elsewhere, you can visit
XXXQBDLUQVCDPNTVQQPSU and register to have the files emailed directly to you.

You can download the code files by following these steps:

1. Log in or register at XXXQBDLUQVCDPN.


2. Select the SUPPORT tab.
3. Click on Code Downloads & Errata.
4. Enter the name of the book in the Search box and follow the onscreen
instructions.

Once the file is downloaded, please make sure that you unzip or extract the folder using the
latest version of:

WinRAR/7-Zip for Windows


Zipeg/iZip/UnRarX for Mac
7-Zip/PeaZip for Linux

[3]
Preface

The code bundle for the book is also hosted on GitHub at


IUUQTHJUIVCDPN1BDLU1VCMJTIJOH-FBSOJOH/PEFKT%FWFMPQNFOU. We also have
other code bundles from our rich catalog of books and videos available at IUUQTHJUIVC
DPN1BDLU1VCMJTIJOH. Check them out!

Conventions used
There are a number of text conventions used throughout this book.

$PEF*O5FYU: Indicates code words in text, database table names, folder names, filenames,
file extensions, pathnames, dummy URLs, user input, and Twitter handles. Here is an
example: "Mount the downloaded 8FC4UPSN ENH disk image file as another disk in
your system."

A block of code is set as follows:


DPOTPMFMPH 4UBSUJOHBQQKT 

DPOTUGTSFRVJSF GT 
DPOTU@SFRVJSF MPEBTI 
DPOTUZBSHTSFRVJSF ZBSHT 

When we wish to draw your attention to a particular part of a code block, the relevant lines
or items are set in bold:
DPOTUBSHWZBSHTBSHW
WBSDPNNBOEQSPDFTTBSHW<>
DPOTPMFMPH $PNNBOE DPNNBOE 
console.log('Process', process.argv);
DPOTPMFMPH :BSHT BSHW 

Any command-line input or output is written as follows:


cd hello-world
node app.js

[4]
Preface

Bold: Indicates a new term, an important word, or words that you see onscreen. For
example, words in menus or dialog boxes appear in the text like this. Here is an example:
"Select System info from the Administration panel."

Warnings or important notes appear like this.

Tips and tricks appear like this.

Get in touch
Feedback from our readers is always welcome.

General feedback: Email GFFECBDL!QBDLUQVCDPN and mention the book title in the
subject of your message. If you have questions about any aspect of this book, please email
us at RVFTUJPOT!QBDLUQVCDPN.

Errata: Although we have taken every care to ensure the accuracy of our content, mistakes
do happen. If you have found a mistake in this book, we would be grateful if you would
report this to us. Please visit XXXQBDLUQVCDPNTVCNJUFSSBUB, selecting your book,
clicking on the Errata Submission Form link, and entering the details.

Piracy: If you come across any illegal copies of our works in any form on the Internet, we
would be grateful if you would provide us with the location address or website name.
Please contact us at DPQZSJHIU!QBDLUQVCDPN with a link to the material.

If you are interested in becoming an author: If there is a topic that you have expertise in
and you are interested in either writing or contributing to a book, please visit
BVUIPSTQBDLUQVCDPN.

[5]
Visit https://ebooknice.com to
discover a wide range of
eBooks across various genres.
Enjoy exclusive deals and
discounts to enhance your
reading experience. Start your
digital reading journey today!
Preface

Reviews
Please leave a review. Once you have read and used this book, why not leave a review on
the site that you purchased it from? Potential readers can then see and use your unbiased
opinion to make purchase decisions, we at Packt can understand what you think about our
products, and our authors can see your feedback on their book. Thank you!

For more information about Packt, please visit QBDLUQVCDPN.

[6]
Getting Set Up
1
In this chapter, you'll get your local environment set up for the rest of the book. Whether
you're on macOS, Linux, or Windows, we'll install Node and look at exactly how we can
run Node applications.

We'll talk about what Node is, why you would ever want to use it, and why you would
want to use Node as opposed to something like Rails, C++, Java, or any other language that
can accomplish similar tasks. By the end of this chapter, you will be running your very first
Node application. It's going to be simple, but it is going to get us to the path to creating real-
world production Node apps, which is the goal of this book.

More specifically, we'll cover the following topics:

Node.js installation
What Node is
Why use Node
Atom
Hello World

Node.js installation
Before we start talking about what Node is and why it's useful, you need to first install
Node on your machine, because in the next couple of sections, we'll want to run a little bit
of Node code.

Now, to get started, we just need two programsba browser, I'll be using Chrome
throughout the book, but any browser will do, and Terminal. I'll use Spotlight to open up
Terminal, which is what it's known as on my operating system.
Getting Set Up Chapter 1

If you're on Windows, look for the Command Prompt, you can search using the Windows
key and then by typing DPNNBOEQSPNQU, and on Linux, you're looking for the command
line, although depending on your distribution it might be called Terminal or Command
Prompt.

Now, once you have that program open, you'll see a screen, as shown in the following
screenshot:

Essentially, it's waiting for you to run a command. We'll run quite a few commands from
Terminal throughout the book. I'll discuss it in a few sections later, so if you've never used
this before, you can start navigating comfortably.

[8]
Getting Set Up Chapter 1

Node.js version confirmation


In the browser, we can head over to OPEFKTPSH to grab the installer for the latest version of
Node(as shown here). In this book, we'll use the most recent version, version 9.3.0:

It is important that you install a V8 version of Node.js. It doesn't have to be


4.0, it could be 1.0, but it is important it's on that V8 branch, because there
is a ton of new features that come along with V8, including all of the
features you might have come to love in the browser using ES6.

[9]
Getting Set Up Chapter 1

ES6 is the next version of JavaScript and it comes with a lot of great enhancements we'll be
using throughout the book. If you look at the following image, Node.js Long Term Support
Release Schedule (IUUQTHJUIVCDPNOPEFKT-54), you can see that the current Node
version is V8, out in April 2017:

Before going further, I would like to talk about the Node release cycle. What I have in the
preceding image is the official release cycle, this is released by Node. You'll notice that only
next to the even Node numbers do you find the active LTS, the blue bar, and the
maintenance bar. Now, LTS stands for long-term support, and this is the version that's
recommended for most users. I'd recommend that you stick with the currently offered LTS
option (Node v 8.9.4 LTS), though anything on the left-hand side will do, this is shown as
the two green buttons on OPEFKTPSH.

Now, as you can see, the major version numbers, bump every six months. Regardless of any
sort of big overarching change, this happens like clockwork even if nothing drastic has
changed. It's not like Angular where jumping from 1.0 to 2.0 was almost like using a
completely different library. This is just not the case with Node, what you're getting from
this book is the latest and greatest Node has to offer.

[ 10 ]
Getting Set Up Chapter 1

Installing Node
Once the version is confirmed and selected, all we have to do is to click the required version
button on the Node website (OPEFKTPSH) and download the installer. The installer is one of
those basic click Next a few times and you're done type of installers, there's no need to run any
fancy commands. I'll start the installer. As shown in the following screenshot, it'll just ask a
few questions, then let's click on Next or Continue through all of them:

You might want to specify a custom destination, but if you don't know what that means,
and you don't usually do it when installing programs, skip that step too. Here, in the next
screenshot, you can see that I'm using just 58.6 MB, no problem.

[ 11 ]
Getting Set Up Chapter 1

I'll run the installer by entering my password. And once I enter my password, it should
really only take a couple of seconds to get Node installed:

As shown in the following screenshot, we have a message that says The installation was
completed successfully, which means we are good to go:

[ 12 ]
Getting Set Up Chapter 1

Verifying installation
Now that Node has been installed successfully, we can go ahead and verify that by running
Node from Terminal. Inside Terminal, I'll shut it down by going to Quit Terminal and open
it up again:

The reason I'm opening it up is because we've installed a new command,


and some Terminals require a restart before they will be able to run that
new command.

In our case, we restarted things and we can run our brand new command so, we'll type it:
node -v

[ 13 ]
Getting Set Up Chapter 1

What we're doing in this command is we're running the Node command, and we're passing
in what's called a flag, a hyphen sign followed by a letter. It could be B, it could be K, or in
our case it's W. This command will print the version of Node currently installed.

We might get an error like this:

If you try to run a command that doesn't exist, such as OPEFBTEG, you'll see command not
found. If you see this, it usually means the Node installer didn't work correctly, or you
haven't run it in the first place.

In our case though, running Node with the W flag should result in a number. In our case, it's
version 9.3.0. If you do have Node installed, and you see something like the following
screenshot, then you are done. In the next section, we'll start exploring exactly what Node
is.

[ 14 ]
Exploring the Variety of Random
Documents with Different Content
climax of the power of, 518;
suspension of, 520;
admission of the Commons to, 370

Parliament, Anglo-Norman, 290

Parliament, two Houses of,


necessity for the, 265;
origin of the division, 418-421, 434

Parliament, the Good, 490

Parliament, of Oxford, 356, 367;


acts of the, 357

Parliament, the Wonderful, 502

Parliaments,
annual, 496;
statutes relating to, 477

Parliament, of Edward II., 370, 371, 374, 454, 455

Parliament, of Edward III., 455, 477

Parliament, of Henry II., 292

Parliament, of Henry III., 360, 362

Parliament, of Richard II., 494-507

Party influence, action of, 406

Peers, origin of the House of, 52;


functions of the, 435;
advantages of, 436
Pembroke, Earl of, 320

People, sovereignty of the, 69

Pepin, ancestors of, 90, 91

Pepin the Short, 96;


despotism of, 157, 160

Perers, or Pierce, Alice, influence of, 488

Persons, classification of, 132;


principles of, 134, 193

Peter de Roches, 322

Petition, right of, 463, 465, 469;


abuse of the, 470;
right of, superseded, 515

Petitions, practice regarding, 459;


presentation of, 464, 468, 482;
discussions of, 472;
usage of, exchanged for bills, 513

Phenomena of nature and of mind, 102

Philosophy of fact, 426

Philosophy of will, 337, 338, 344

Philosophy school of, 426, 427, 430, 432


Plurality, definition of, by Pascal, 62

Police regulations, 42, 271

Poll-tax levied, 497, 498

Politics, art of, 443

Popes, origin of the right of, to make and unmake kings, 96;
powers of the, 311, 317, 321;
resistance of the Commons to the, 490

Power, derivation of, 346;


legitimacy of, 349
absolute, characteristics of, 58, 59, 233, 299, 346;
fallibility of, 77;
theory of, 341;
causes which led to the establishment of, in France, 424;
bulwarks against, 442;
struggles of, in England, 495-502

Power, administrative, division of, in England, 289

Power, central, division of, 444;


relation of, to representative government, 445

Power, ecclesiastical, 275, 276;


decline of, in England, 282

Power, electoral, 264;


division of, in England, 266

Power, executive, 288;


tendency of, 289;
theory of, 340
Power, judicial, 288, 441;
division of, 289, 517;
concentration of, in the person of Henry II., 296

Power, legislative, 288;


division of, in England, 418-424;
effects of, 446

Power, monarchical, progress of, 15

Power, regal,
extension of, 148, 151;
causes of the, 160, 276;
theory of, 218, 446;
origin of, 219;
struggles of, with feudal powers, 308-325;
restrictions to, 361;
resistance of the Commons to, 477

Powers, division of, essential to government, 79, 289;


results of, in England, 268

Powers, emancipation of, in France, 289

Powers, which rule society, 288

Precaria, origin of the, 117

Prerogative, royal origin of, 300;


maintenance of, 503

Problem of government, 78

Progress, the law of nature, 129

Property, territorial, 126-129


Proprietors, isolation of, 130
allodial, 135
beneficiary, 135

Prorogation of Parliament, 499;


right of, 478, 479

Publicity,
an essential characteristic of representative government, 80, 265

Publicity, in England, 81

R.

Reason, unity of, 79;


sovereignty of, 343, 346

Reason, the source of power, 346

Recared I., reign of, 211

Recared II., reign of, 212

Recesuinth, accession of, 213;


laws of, 244

Reconciliation, theory of, 338

Recommendation, feudal system of, 125, 126

Reformation, causes which led to the, 491

Regent, title of, first adopted, 320


Régime, feudal, in France, 97

Relations, social, rule of, 428

Religion, influence of, on royal power, 161, 162

Rentals, origin of, 127

Representation,
political meaning of the term, 334, 348;
theories of, 335, 336, 341;
doctrine of, 347;
first development of, in English government, 354, 355;
progress of, 363, 367

Representation of counties, 363

Representation of boroughs, 364-366

Representation of universities, 373

Representation of will, 339

Representatives of counties,
election of, 381;
payment of, 383, 461;
number of, 405;
coalition of, with members for boroughs, 422;
qualifications of, 410

Representatives of boroughs, election of, 384, 385;


assembly of, 419

Republic, Venetian, result of the, 69


Requirements, historic, of the present age, 261

Revenue, public employment of the, 499

Revenues of the Norman kings, 296

Revolutions,
general effects of, on society, 2, 10;
epochs of, 187

Revolutions, French, effects of the, 40

Richard Cœur de Lion, 279;


death of, 280;
reign of, 306

Richard II.,
reign of, 494-506;
government of, 500;
deposition of, 505, 506, 509;
political character of, 507, 508

Right,
impossibility of defining, 429;
philosophy of, 426, 437, 430;
legitimacy of, 431

Right and might, amalgamation of, 431

Right, derived from capacity, 394

Right, Divine, theory of, 213, 446

Right, of enquiry, 473, 487


Right, hereditary, 435

Right,
initiative, 464, 471;
completion of the, 514

Right, of petition, 463, 469

Right, of prorogation, 478, 479

Rights, electoral, 406, 407

Rights, municipal, 200, 385, 386

Rights, national, 63

Rights, political, 63;


separation of, from municipal rights, 200

Rights, public, combination of, 391;


independence of, 392

Robert, duke of Normandy, 273

Robertson, history by, 259, 260;

Rochester, siege of, 317

Rome,
political institutions of, 184;
classification of the inhabitants of, 193, 200;
centralization of power in, 202

Rousseau,
his hypothesis of society, 57;
his theory of representation, 335, 337, 339
Royalty, theory of, 218;
struggles with feudal aristocracy, 311, 317, 322, 327

Royalty, among the Franks, 159

Royalty,
Anglo-Norman, 295;
wealth and power of, 296-299

Runnymede, conference at, 312

S.

Salic lands, 107

Salic law, 107

Salisbury, Parliament at, 373

Savigny, M. de,
on the laws of the Visigoths, 241, 244

Saxons,
enmity of, to the Danes, 270;
analogy of, with the Normans, 282;
national assemblies of the, 291-293

School, philosophic,
fundamental principles of, 426;
errors of the, 427, 429, 430, 432

School,
historic principles of the, 426;
errors of the, 433
Science, political, 389

Scribæ, 199

Scotland,
early independence of, 484;
wars of, 486

Senators, Roman, 194

Serfs, see Slaves.

Service, military,
origin of, 109;
limits of, 110;
exaction of, 326

Siesbut, reign of, 211

Sisenand, usurpation of, 212

Slaves, 33, 38;


causes of the condition of, 136;
laws regarding, 227

Socialism, first law of, 57

Society,
classification of, 33;
origin of, 57;
philosophy of, 57;
desire and tendency of, 66, 438, 439;
earliest condition of, 133;
tests of the social condition of, 137;
meaning and object of, 441;
government of, 288;
parliamentary classification of, 420, 422;
great aim of, 432, 438

Society, Anglo-Saxon, 34-37

Society, Christian,
influence of, on the fallen powers of Rome, 187;
growth of, 189

Sovereignty,
right of, 58;
effects of, 67;
theories of, 263, 264;
opinions of Bracton and Fortescue on, 267

Sovereignty, individual,
theory of, 336-338, 242;
results of, 443;
division of, 445

Sovereignty, of the majority, 340

Sovereignty, of reason, 343

Sovereignty, of will, 341, 344

Spain,
under the Roman Empire, 206;
invasion of, 209;
monarchy in, 210;
fall of the, 214;
division of, into dioceses, 213;
Gothic laws of, 246, 247;
institutions of, 235

Speaker of the House of Commons,


first appointed, 478;
functions of the, 511

Speech, liberty of, secured, 510

State,
councils of, 165;
revenues of the, 487

States, barbarian, 232, 281

States,
modern, 201, 448;
comparison of, with the Roman Empire, 113, 201

Statute of Acton Burnel, 420

Statute in confirmation of charters, 330

Statute granted to the clergy, 499

Statutes, formation of, 461, 482

Stephen,
wars of, 274;
regal power of, 300;
charters of, 305

Sub-enfeoffment, origin of, 124

Subsidies,
conditions attached to, 461, 497, 498;
appropriation of, 480
Succession, hereditary, 101, 158, 159, 209, 212

Suffolk, earl of, 501

Suffrage, universal, origin of, 339

Suffrage, right of, 381, 385

Suffrage, Roman, 181

Suinthila, king of the Visigoths, 212

Susceptor, 199

Suzerainty, 172, 173

System, electoral, of England, 377-388, 408, 517

System, feudal, 14, 35, 126, 173, 146, 158, 171, 175;
establishment of, in Normandy, 103, 283;
origin of the, 112

System, municipal, 200;


decay of, 202, 204

System, municipal, Roman, 178;


effects of the, 180, 181;
extension of the, 186;
results of the, 189;
abolition of the, 192

System, philosophical, 343

System, representative,
nature of the, 348;
object of, 440;
principle of, 440, 449

Systems, judicial, of France and England, 287

T.

Tabularii, 147

Talliage, 364

Taxes levied by Edward I., 326

Taxes levied by Edward III., 479, 498

Taxes levied by Henry III., 323

Taxes levied by the Norman kings, 296, 305, 306

Taxes levied by Richard II., 497

Taxes, right of imposing, 364, 480, 495

Taxes, voting of, 400, 481

Taxes, distinction between, and the civil list, 496

Taxes, imposition of, in France, 110

Tenchebray, battle of, 273

Tenure, laws of, 114, 117, 120, 124, 135


Tenure, Montesquieu on, 116

Tenure, of national assemblies, 293

Territory, divisions of, under the Anglo-Saxons, 42

Territory, divisions of, by the Frankish kings, 86, 92

Thanes, history of the, 33-35

Theodosius the Great, 24

Theodoric,
dominions of, 86
invasion of Spain by, 207;
death of, 208

Theodoric II., 208

Theory of law, 217

Theory of power, 219, 220

Theory of reconciliation, 338

Theory of royalty, 218

Theories of representation, 335, 336;


consequences of, 337

Theories of government, 341

Theudegisil, king of the Visigoths, 210

Thorismund, 208
Time,
past, importance of the study of, 5;
present characteristics of the, 21

Toledo, general councils of, 211-213, 221, 230;


political influence of the, 231, 233;
Abbé Mariana on the, 241

Tories,
their estimation of Saxon and Norman institutions, 283;
opinions of, on national assemblies, 290;
on electors, 377;
theories of, refuted, 382

Towns, English,
importance of, 268, 306, 362, 364;
liberties of, 265, 280;
effects of the Norman conquest on, 294;
deputies of, called to Parliament, 362;
representation of, 366

Towns, conquered, treatment of, by the Romans, 181

Trial, by ordeal, 249, 251

Trial by jury, 250, 252

Tribute, laws of, 108

Truth,
difficulty of attaining the, 19;
characteristics of, 68

Tyranny,
local, effects of, 174;
origin of; 340, 341
Tythes,
institution of, 326;
continuation of, 372

U.

Unity,
definition of, 62, 265;
power of, in government, 72

University of Oxford first represented in Parliament, 373

Usurpation, frequency of, 223

V.

Vascons or Basques, defeat of the, 210

Vassals,
etymology of the term, 122;
condition of, 175

Vassals, royal, duties of, 296

Vassalage, 122, 126

Visigoth legislation, character of, 215

Visigoths,
laws of the, 119, 125, 177, 208, 215;
national assemblies of, 211;
institutions of, 237
Visigoths, monarchy of the, in Gaul, 207, 208

Visigoths, monarchy in Spain, 207, 210

Visigoths,
bishops of the, 232;
character of, 236

Visigoths,
kings of the, 207-214;
duties of the, 225

Votes, classification of, 420

W.

Wallia, king of the Visigoths, 207

Wamba, 213

Wars, civil, 274, 275, 280, 311, 519;


results of, 301, 520

Wars of Clovis, 34

Wars of Edward II., 456

Wars of Henry III., 323

Wars of Stephen, 274

Wars regulated by Parliament, 486


Wars of York and Lancaster, 519;
effects of, on the representative form of government, 520

Wealth, stationary condition of, 131

Wealth, of the Norman kings, 295

Wehrgeld, or classified value of life, 137, 138

Whigs, opinions of the,


on Saxon and Norman institutions, 283;
on national assemblies, 291;
on the election of members, 377

Will, philosophy of, 337, 338, 344;


representation of, 339;
province of the, 344

Will representation, 343

William the Norman,


changes in the legislature instituted by, 45, 272;
conquest of England by, 211;
charters of, 303

William Rufus, political character of the reign of, 272

Wittenagemot,
composition of the, 46;
powers of, 49, 51;
character of the, 52;
assemblies of the, 284, 292, 449

Withema, 211

Witiza, reign of, 214


Writs of Chancery, 297

Writs of convocation, 371, 373, 374

Writs of election, 386

Y.

Yeomanry, English, origin of the, 36


Printed By Harrison And Son, London Gazette Office, St. Martin's-
lane; and Orchard-street, Westminster.

End of Main Text

[Transcriber's note: The prices listed use the £sd system (or Lsd),
"pounds, shillings and pence," from librae, solidi, and denarii.
12d (pence) is a shilling. 20s (shillings), or 240d (pence), is a
pound. The purchasing power of one pence is 1852 is about
US$.58 in 2020. A common price of 3s. 6d. is about $40.]

Publisher's Advertisements
Bohn's Classical Library,

A Series Of Literal Prose Translations


Of The Greek And Latin Classics,
With Notes And Indexes.
Uniform with the Standard Library, 6s. each (except
Thucydides, Æschylus, Virgil, Horace, Cicero's Offices,
Demosthenes, Appendix to Æschylus, Aristotle's Organon,
all of which are, 3s. 6d, each volume).

1. Herodotus.
By The Rev. Henry Cary, M.A. Frontispiece.

2 & 3. Thucydides.
By The Rev. H. Dale.
In 2 Vols. (3s. 6d. Each). Frontispiece.

4. Plato. Vol. 1. By Cary.


[The Apology of Socrates, Crito, Plædo, Gorgias, Protagotas,
Phædrus, Theætetus, Euthyphron, Lysis.] Frontispiece.

5. Livy's History Of Rome,


literally translated. Vol. I., Books 1 to 8.

6. Plato. Vol.II. By Davis.


[The Republic, Timæus, and Critias.]

7. Livy's History Of Rome. Vol. II., Books 9 to 26.

8. Sophocles. The Oxford Translation, revised.

9. Æschylus, literally translated.


By an Oxonian. (Price 3s. 6d.)
9* Æschylus, Appendix to, containing the new readings given in
Hermann's posthumous edition of Æschylus, translated and edited
by G. Burges, M A. (3s. 6d).

10. Aristotle's Rhetoric And Poetic.


With Examination Questions.

11. Livy's History Of Rome. Vol. III., Books 27 to 36.

12 & 14. Euripides, literally translated.


From the Text of Dindorf. In 2 Vols.

13. Virgil By Davidson. New Edition, Revised.


(Price 3s. 6d.) Frontispiece.

15. Horace. By Smart. New Edition, Revised.


(Price 3s. 6d.) Frontispiece.

16. Aristotle's Ethics.


By Prof. R. W. Browne, of King's College.

17. Cicero's Offices.


[Old Age, Friendship, Scipio's Dream, Paradoxes, &c.]

18. Plato. Vol. III. By G. Burges, M.A.


[Enthydemus, Symposium, Sophistes, Politicus, Laches, Parmenides,
Cratylus, and Meno.]

19. Livy's History Of Rome. Vol. IV.


(which completes the work).

20. Cæsar And Hirtius. With Index.

21. Homer's Iliad, in prose, literally translated.


Frontispiece.

22. Homer's Odyssey, Hymns, Epigrams, And Battle Of The Frogs


And Mice.
23. Plato. Vol. IV. By G. Burges, M.A.
[Philebus, Charmides, Laches, The Two Alcibiades, and Ten other
Dialogues.]

24. 25, & 32. Ovid. By H. T. Riley, B.A.


Complete in 3 Vols. Frontispieces.

26. Lucretius. By The Rev. J. S. Watson.


With the Metrical Version of J. M. Good.

27, 30, 31, &. 34. Cicero's Orations.


By C. D. Yonge.
Complete in 4 Vols.
(Vol. 4 contains also the Rhetorical Pieces.)

28. Pindar. By Dawson W. Turner.


With the Metrical Version of Moore. Front.

29. Plato. Vol. V. By G. Burges, M.A. [The Laws.]

33 &, 36. The Comedies Of Plautus,


By H. T. Riley, B.A. In 2 Vols.

35. Juvenal, Persius, &c.


By The Rev. L. Evans, M.A. With the Metrical Version of Gifford.
Frontispiece.

37. The Greek Anthology,


translated chiefly by G. Burges, A.M., with Metrical Versions by
various Authors.

38. Demosthenes.
The Olynthiac, Philippic, and other Public Orations, with Notes,
Appendices, &c., by C. Rann Kennedy. (3s. 6d.)

39. Sallust, Florus, and Velleius Paterculus,


with copious Notes, Biographical Notices, and Index, by the Rev. J.
S. Watson, M.A.

40. Lucan's Pharsalia,


with copious Notes, by H. T. Riley, B.A.

41 Theocritus, Bion, Moschus And Tyrtæus,


by the Rev. J. Banks, M.A. With the Metrical Versions of Chapman.
Frontispiece.

42. Cicero's Academics, De Finibus and Tusculan Questions,


by C. D. Yonge, B A. With Sketch of the Greek Philosophy.

43. Aristotle's Politics And Economics,


by E. Walford, M.A., with Notes, Analyses, Life, Introduction, and
Index.

44. Diogenes Laertius. Lives And Opinions Of The Ancient


Philosophers, with Notes by C. D. Yonge, B.A.

45. Terence And Phædrus, By H. T. Riley.


To which is added Smart's Metrical Version of Phædrus.
Frontispiece.

46 & 47. Aristotle's Organon, or, Logical Treatises, and the


Introduction of Porphyry with Notes, Analysis, Introduction and
Index, by the Rev. O. Owen, M. A. 2 Vols., 3s. 6d. per Vol.

48 & 49. Aristophanes,


with Notes and Extracts from the best Metrical Versions, by W. J.
Hickie, in 2 Vols. Frontispiece.

50. Cicero On The Nature Of The Gods, Divination, Fate,


Laws, Republic, &c, translated by C. D. Yonge, B.A.

51. Apuleius. [The Golden Ass, Death of Socrates, Florida, and


Defence or Discourse on Magic]. To which is added a Metrical
Version of Cupid and Psyche; and Mrs. Tighe's Psyche.
Frontispiece.

52. Justin, Cornelius Nepos And Eutropius,


with Notes and a General Index, by the Rev. J. S. Watson, M.A.

53 & 58. Tacitus. Vol. I. The Annals.


Vol. II. The History, Germania, Agricola, &c. With Index.

54. Plato. Vol VI., completing the work, and containing Epinomis,
Axiochus, Eryxias, on Virtue, on Justice, Sisyphus, Demodocus, and
Definitions; the Treatise of Timæus Locrus on the Soul of the World
and Nature; the Lives of Plato by Diogenes Laertius, Hesychius, and
Olympiodorus; and the Introductions to his Doctrines by Alcinous
and Albinus; Apuleius on the Doctrines of Plato, and Remarks on
Plato's Writings by the Poet Gray. Edited, with Notes, by G. Burges,
M.A., Trin. Coll., Camb. With general Index to the 6 Volumes.

55, 56, 57. Athenæus.


The Deipnosophists, or the Banquet of the Learned, translated by
C. D. Yonge, B.A., with an Appendix of Poetical Fragments rendered
into English verse by various Authors, and a general Index.
Complete in 3 Vols.

59. Catullus, Tibullus, And The Vigil Of Venus.


A literal prose translation. To which are added Metrical Versions by
Lamb, Grainger, and others. Frontispiece.

60. Propertius, Petronius Arbiter, And Johannes Secundus,


literally translated, and accompanied by Poetical Versions, from
various sources; to which are added the Love Epistles Of
Aristænetus. Edited by W. K. Kelly.

61. 74, & 82 The Geography Of Strabo,


translated, with copious Notes, by W. Falconer, M.A., and H. C.
Hamilton, Esq. In 3 vols., and Index.
62. Xenophon's Anabasis, or Expedition of Cyrus, and
Memorabilia, or Memoirs of Socrates, translated by the Rev. J. S.
Watson, with a Geographical Commentary by W. F. Ainsworth.
Frontispiece.

63. Xenophon's Cyropædia And Hellenics,


by the Rev. H. Dale, and the Rev. J. S. Watson.

64. 67, 69, 72, 78, & 81. Pliny's Natural History, with copious
Notes, by Dr. Bostock and T. H. Riley. In 6 volumes. Vols. I., II.,
III., IV., V. and VI.

65. Suetonius. Lives of the Cæsars, and other Works. Thomson's


Translation revised by T. Forester.

66. Demosthenes On The Crown, And Embassy,


by C. Rann Kennedy.

68. Cicero On Oratory And Orators,


by the Rev. J. S. Watson, M.A. This volume completes the Classical
Library edition of Cicero.

70. Greek Romances.


Heliodorus, Longus, and Achilles Tatius.

71 & 76. Quintilian's Institutes Of Oratory.


By the Rev. J. S. Watson, M.A. Complete, with Notes, Index, and
Biographical Notice. 2 volumes.

73. Hesiod, Callimachus, And Theognis, in Prose, by Banks,


with the Metrical Versions of Elton, Tytler, And Frere.

75. Dictionary Of Latin Quotations,


with the Quantities marked and English Translations; including
Proverbs, Maxims, Mottoes, Law Terms and PHrases; with a
Collection of above 500 Greek Quotations.
77. Demosthenes Against Leptines, Midias, Androtion, And
Aristocrates. By Charles Rann Kennedy.

79. Xenophon's Minor Works;


translated by the Rev. J. S. Watson.

80. Aristotle's Metaphysics,


literally translated, with Notes, Analysis, Examination Questions and
Index, by the Rev. John H. M'Mahon, M.A.
Bohn's Antiquarian Library.

Uniform with the Standard Library,


price 5s.,
1. Bede's Ecclesiastical History, &
The Anglo-Saxon Chronicle.

2. Mallets Northern Antiquities.


By Bishop Percy. With Abstract of the Erbyggia Saga, by Sir Walter
Scott. Edited by J. A. Blackwell.

3. William Of Malmesbury's Chronicle Of The Kings Of


England.

4. Six Old English Chronicles: viz., Asser's Life of Alfred; the


Chronicles of Ethelwerd, Gildas, Nennius, Geoffry of Monmouth, and
Richard of Cirencester.

5. Ellis's Early English Metrical Romances.


Revised by J. Orchard Halliwell.
Complete in one vol., Illuminated Frontispiece.

6. Chronicles Of The Crusaders:


Richard of Devizes. Geoffrey de Vinsauf. Lord de Joinville. Complete
in 1 volume. Frontispiece.

7. Early Travels In Palestine.


Willibald, Sæwulf, Benjamin of Tudela, Mandeville, La Brocquiere,
and Maundrell. In one volume. With Map.

8, 10, & 12. Brand's Popular Antiquities Of Great Britain. By


Sir Henry Ellis. In 3 Vols.
9 & 11. Roger Of Wendover's Flowers Of History
(formerly ascribed to Matthew Paris.) In 2 Vols.

13. Keightley's Fairy Mythology.


Enlarged. Frontispiece by Cruikshank.

14, 15, &, 16. Sir Thomas Browne's Works.


Edited by Simon Wilkin.
Portrait. In 3 Vols. With Index.

17, 19, & 31. Matthew Paris's Chronicle,


containing the History of England from 1235, with Index to the
whole, including the portion published under the name of Roger Of
Wendover, in 3 Vols. (See 9 and 11). Portrait.

18. Yule-tide Stories,


A collection of Scandinavian Tales and Traditions, edited by B.
Thorpe, Esq.

20 & 23. Roger De Hoveden's Annals Of English History, from


A.D. 732 to A.D. 1201. Translated by H. T. Riley, Esq., B.A. In 2
Vols.

21. Henry Of Huntingdon's History Of The English,


from the Roman Invasion to Henry II.; with The Acts of King
Stephen, &c.

22. Pauli's Life Of Alfred The Great.


To which is appended Alfred's Anglo-Saxon Version Of
Orosius, with a literal translation. Notes, and an Anglo-Saxon
Grammar and Glossary, by B. Thorpe, Esq.

24 & 25. Matthew Of Westminster's Flowers Of History,


especially such as relate to the affairs of Britain, from the beginning
of the world to A.D. 1307. Translated by C. D. Yonge, B.A. In 2
Vols.
Welcome to our website – the ideal destination for book lovers and
knowledge seekers. With a mission to inspire endlessly, we offer a
vast collection of books, ranging from classic literary works to
specialized publications, self-development books, and children's
literature. Each book is a new journey of discovery, expanding
knowledge and enriching the soul of the reade

Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.

Let us accompany you on the journey of exploring knowledge and


personal growth!

ebooknice.com

You might also like