Express 应用生成器

Express 应用生成器

express-generator 能够快速创建一个Express应用框架

1.全局安装express-generator

npm install express-generator -g

2.在指定目录下创建一个命名为myProject的应用(即目录名为myProject的应用)

express myapp

3.进入创建的目录并安装所有依赖包

cd myProject
npm install

4.启动应用

npm start

端口默认为3000,运行启动命令后,在浏览器打开http://localhost:3000/网址即启动应用了

5.Express应用生成器创建的应用的目录结构

├── app.js
├── bin
│   └── www
├── package.json
├── public
│   ├── images
│   ├── javascripts
│   └── stylesheets
│       └── style.css
├── routes
│   ├── index.js
│   └── users.js
└── views
    ├── error.jade
    ├── index.jade
    └── layout.jade

6.写命令直接打开

创建.bat文件:

@echo off
start http://localhost:3000
supervisor -i data,public,node_modules,.git,.idea,*.log,*.bat ./bin/www //监听
echo.
pause

7.package.json

{
  "name": "trunk",
  "version": "0.0.0",
  "private": true,
  "scripts": {
    "start": "node ./bin/www" //指定运行 npm run start时所要执行的命令 启动./bin/www
  },
  "dependencies": {
    "body-parser": "~1.17.1",
    "cookie-parser": "~1.4.3",
    "debug": "~2.6.3",
    "express": "~4.15.2",
    "jade": "~1.11.0",
    "morgan": "~1.8.1",
    "serve-favicon": "~2.4.2"
  }
}

8.  /bin/www

作用:主要是启动应用,设置端口,创建http server

var app = require('../app');
var debug = require('debug')('oa-pc:server');
var http = require('http');

/**
 * Get port from environment and store in Express.
 */

var port = normalizePort(process.env.PORT || '3000');
app.set('port', port);

/**
 * Create HTTP server.
 */

var server = http.createServer(app);

/**
 * Listen on provided port, on all network interfaces.
 */

server.listen(port);
server.on('error', onError);
server.on('listening', onListening);

9.app.js

注意进行一些公共的配置

    a. 应用程序设置表的设置

    设置模版引擎:

// view engine setup
app.set('views', path.join(__dirname, 'views')); //应用程序视图的目录或目录数组
// pug模板引擎
app.set('view engine', 'pug'); 
//设置视图引擎的扩展名
// 注册一个ejs模板引擎
app.engine('html', ejs.renderFile); //EJS模版引擎寄存在指定的扩展文件(即html文件里面写ejs的语法)
app.set("view engine", "html");

    b. favicon的设置

var favicon = require('serve-favicon'); //引入模块
app.use(favicon(path.join(__dirname, 'public', 'favicon.ico')));

    c. 中间件(Middleware)的功能是按顺序执行的

//静态资源(根目录下,即:/)
app.use(express.static(path.join(__dirname, 'public'))); 

// 指定静态资源的路径(path)的前面部分(/static/xxxx)
app.use('/static', express.static(__dirname + '/public'));

//多个静态资源目录
app.use(express.static(__dirname + '/public'));
app.use(express.static(__dirname + '/files'));
app.use(express.static(__dirname + '/uploads'));


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值