I have tried
express -e myproject
However this does not work as expected
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
Just start you project with this command
express --view=ejs appName
don't forget to install express-generator globally by npm install -g express-generator
npm install -g express
express
. If you want express to make a subfolder for the project, type express appname
.npm install ejs
To configure EJS in your express project, you have to make sure you have the following line in your app.config function:
app.set('view engine', 'ejs');
EDIT: As dmh2000 pointed out, you can also just do express -t ejs
The option to use depends on the installed version of express (check express -V
!)
It was changed somewhere around version 3.0.0alpha1.
It used to be: express -t ejs
, now it is: express -e
or express --ejs
Proof (from express Git repo):
git log -S'--ejs' # Search for the change using pickaxe
git show 29508f1 # The commit
git cat-file blob 29508f1:package.json|grep version # express version
Morale: NodeJS modules are moving targets, always check their docs, especially after updating stuff.
Express provides a generator (see instructions below), however for a batteries included generator, you might choose my express-no-stress generator.
Express-no-stress
Includes ES.next via Babel.js, structured logging with Pino, API validation and interactive documentation via Swagger, environment based config with dotenv, linting with ESLint, and Backpack powered builds.
Install
npm install -g yo generator-express-no-stress
Generate Project
yo express-no-stress myapp
Run
npm run dev
Or use the Express Generator that can be used as follows:
Install
npm install express-generator -g
Generate Project
express myapp
Make sure you have the express generator installed:
npm install express-generator -g
then to start a project
express myproject
To display the help screen
express --h
I hope it helps
Do the following steps: 1. Install ejs:
sudo npm install -g ejs
2. Install node express generator:
sudo npm install -g express-generator
3. Reboot the system 4. Create app with express generator:
express --view=ejs myApp
the one that worked for me is
npx express-generator --view=ejs
no need to pre-install anything (except of nodeJS of course)
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.