关于升级Express3 到Express4 generator
升级到4必须要先卸载3然后重新安装4.
$ npm uninstall -g express
根据你文件和目录的权限设置,你也许需要使用sudo命令
下面安装新的Generator
$ npm install -g express-generator
- --sessions 选项已经删除
- --jshtml选项已经删除
- --hogan 选项已经去支持Hogan.js.
启动app.js已经改为
$ npm start
取代3的node app.js
假如你看package.json文件里的npm start校本,你会发现实际的启动是
node ./bin/www
因为4生成的app.js文件是一个Node模式,它不再独立作为一个app(除非你修改它的代码),它被加载在一个Node文件中并且从一个Node文件启动,这里这个Node文件就是./bin/www
无论bin目录还是无扩展名字的www文件都强行地创建或启动一个Express app,这只是参考,请根据自己项目的实际情况更改他们。
为了去掉www的目录并且做得更像是3的方式,在app.js的最后,删除module.exports = app;这一行,并粘贴下面内容到相应的位置上。
app.set('port', process.env.PORT || 3000);
var server = app.listen(app.get('port'), function() {
debug('Express server listening on port ' + server.address().port);});
添加如下代码在app.js的前段,确定装载debug模式。
var debug = require('debug')('app4');
接下来,改变package.json文件的 "start":"node ./bin/www"
为
"start":"node app.js"
这样,你就将功能改成了过去的app.js启动方式,这个不是推荐你使用这种方式,而是通过这个能帮助你理解现在的启动方式。
原文地址:
http://www.expressjs.com.cn/migrating-4.html#changes