全局安装
npm i -g express-generator
切换到你的站点目录
cd /website/wwwroot
创建名为express-app的项目
express express-app
创建成功后,根据提示继续操作即可
cd express-app
npm install
DEBUG=express-app:* npm start
#或者使用
npm start
浏览器打开 http://localhost:3000/ 即可看到效果
express默认的视图引擎是jade,可以在安装的时候改成其他视图引擎
express --view=ejs express-app
路由模块化(统一管理)
这里以两个模块为例
home
模块:网站根模块,即/
member
模块:网站的会员模块,即/member
默认的路由配置是直接写在根目录的app.js里面,默认代码如下
var indexRouter = require('./routes/index');
var usersRouter = require('./routes/users');
app.use('/', indexRouter);
app.use('/users', usersRouter);
把以上代码注释掉,添加代码
var router = require('./router');
app.use(router);
在根目录下创建router.js
文件,内容如下
var express = require('express');
var router = express.Router();
router.use('/', require('./routes/home'));
module.exports = router;
routes
文件夹下新增home
文件夹,并在home
文件夹下创建index.js文件,内容如下
var express = require('express');
var router = express.Router();
router.get('/', function(req, res, next) {
res.send('这是默认的/');
});
module.exports = router;
访问 http://localhost:3000/ 即可看到效果
routes
文件夹下新增member
文件夹,并在member
文件夹下创建index.js文件,内容如下
var express = require('express');
var router = express.Router();
router.get('/', function(req, res, next) {
res.send('这是/member');
});
router.get('/login', function(req, res, next) {
res.send('这是/member/login');
});
module.exports = router;
在router.js
中加入
router.use('/member', require('./routes/member'));
访问 http://localhost:3000/member 和 http://localhost:3000/member/login 即可看到效果
代理转发中间件express-http-proxy
npm install express-http-proxy --save
app.js
文件添加代码
var proxy = require('express-http-proxy');
app.use('/api', proxy('api.xxxxx.cn'));
意思是把路由为’/api’ 相关的请求转发至api.xxxxx.cn,
如 http://localhost:3000/api/member 即转发至 api.xxxxx.cn/member