How can I create an Express EJS project from the command line?
express --help
Usage: express [options] [path]
Options:
-s, --sessions add session support
-t, --template <engine> add template <engine> support (jade|ejs). default=jade
-c, --css <engine> add stylesheet <engine> support (stylus). default=plain css
-v, --version output framework version
-h, --help output help information
so, do >express -t ejs [path]
How to install express from the command line using express-generator and use EJS template engine
1) Install express-generator globally("-g") if you don't have it already
npm install express-generator -g
2.1) Check available commands
express -h
Result(in express version: 4.13.4):
Usage: express [options] [dir]
Options:
-h, --help output usage information
-V, --version output the version number
-e, --ejs add ejs engine support (defaults to jade)
--hbs add handlebars engine support
-H, --hogan add hogan.js engine support
-c, --css <engine> add stylesheet <engine> support (less|stylus|compass|sass) (defaults to plain css)
--git add .gitignore
-f, --force force on non-empty directory
2.2) Generate an Express app with chosen preferences
express --ejs --git my_app_with_ejs_and_gitignore
Result:
create : my_app_with_ejs_and_gitignore
create : my_app_with_ejs_and_gitignore/package.json
create : my_app_with_ejs_and_gitignore/app.js
create : my_app_with_ejs_and_gitignore/.gitignore
create : my_app_with_ejs_and_gitignore/public
create : my_app_with_ejs_and_gitignore/public/javascripts
create : my_app_with_ejs_and_gitignore/public/images
create : my_app_with_ejs_and_gitignore/public/stylesheets
create : my_app_with_ejs_and_gitignore/public/stylesheets/style.css
create : my_app_with_ejs_and_gitignore/routes
create : my_app_with_ejs_and_gitignore/routes/index.js
create : my_app_with_ejs_and_gitignore/routes/users.js
create : my_app_with_ejs_and_gitignore/views
create : my_app_with_ejs_and_gitignore/views/index.ejs
create : my_app_with_ejs_and_gitignore/views/error.ejs
create : my_app_with_ejs_and_gitignore/bin
create : my_app_with_ejs_and_gitignore/bin/www
install dependencies:
$ cd my_app_with_ejs_and_gitignore && npm install
run the app:
$ DEBUG=my_app_with_ejs_and_gitignore:* npm start
3) Navigate into the app directory and use NPM to install dependencies
cd my_app_with_ejs_and_gitignore
npm install
Result:
+-- body-parser@1.15.2
| +-- bytes@2.4.0
| +-- content-type@1.0.2
| +-- depd@1.1.0
| +-- http-errors@1.5.0
| | +-- inherits@2.0.1
| | +-- setprototypeof@1.0.1
| | `-- statuses@1.3.0
| +-- iconv-lite@0.4.13
| +-- on-finished@2.3.0
| | `-- ee-first@1.1.1
| +-- qs@6.2.0
| +-- raw-body@2.1.7
| | `-- unpipe@1.0.0
| `-- type-is@1.6.13
| +-- media-typer@0.3.0
| `-- mime-types@2.1.11
| `-- mime-db@1.23.0
+-- cookie-parser@1.4.3
| +-- cookie@0.3.1
| `-- cookie-signature@1.0.6
+-- debug@2.2.0
| `-- ms@0.7.1
+-- ejs@2.4.2
+-- express@4.13.4
| +-- accepts@1.2.13
| | `-- negotiator@0.5.3
| +-- array-flatten@1.1.1
| +-- content-disposition@0.5.1
| +-- cookie@0.1.5
| +-- escape-html@1.0.3
| +-- etag@1.7.0
| +-- finalhandler@0.4.1
| +-- fresh@0.3.0
| +-- merge-descriptors@1.0.1
| +-- methods@1.1.2
| +-- parseurl@1.3.1
| +-- path-to-regexp@0.1.7
| +-- proxy-addr@1.0.10
| | +-- forwarded@0.1.0
| | `-- ipaddr.js@1.0.5
| +-- qs@4.0.0
| +-- range-parser@1.0.3
| +-- send@0.13.1
| | +-- destroy@1.0.4
| | +-- http-errors@1.3.1
| | +-- mime@1.3.4
| | `-- statuses@1.2.1
| +-- serve-static@1.10.3
| | `-- send@0.13.2
| | +-- http-errors@1.3.1
| | `-- statuses@1.2.1
| +-- utils-merge@1.0.0
| `-- vary@1.0.1
+-- morgan@1.7.0
| +-- basic-auth@1.0.4
| `-- on-headers@1.0.1
`-- serve-favicon@2.3.0
4) Start the server
DEBUG=my_app_with_ejs_and_gitignore:* npm start
Result:
my_app_with_ejs_and_gitignore@0.0.0 start C:\Users\Marian\OneDrive\Documente\Practice\Node\express_generator_2\my_app_with_ejs_and_gitignore
node ./bin/www
Sun, 31 Jul 2016 13:51:25 GMT my_app_with_ejs_and_gitignore:server Listening on port 3000
5) See the result in the browser
Open a browser and navigate to: http://localhost:3000/
The page should contain the following text:
Express
Welcome to Express
npm install -g express-generator
and then
express -e project-name
this will create a project with ejs template engine