简体   繁体   中英

How can I create an Express EJS project from the command line?

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

  1. Install express globally npm install -g express
  2. In terminal, go to the directory in which you want your project to reside. If you are in the directory that you want the files to be in, just type express . If you want express to make a subfolder for the project, type express appname .
  3. To install EJS, use npm install ejs
  4. 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM