动态编译:nodemon安装
https://www.cnblogs.com/JuFoFu/p/5140302.html?utm_source=tuicool&utm_medium=referral
在开发环境下,往往需要一个工具来自动重启项目工程,之前接触过 python 的 supervisor,现在写 node 的时候发现 supervisior 在很多地方都有他的身影,node 也有一个 npm 模块 supervisior 也是用来监控进程的,不过除了 supervisior 外,还有很多其他的工具,从 github 的评分上看,比较热门的有 forever,nodemon,node-dev,具体这些工具的区别可以参考这篇文章 Comparison: Tools to Automate Restarting Node.js Server After Code Changes ,个人觉得在开发环境还是用 nodemon,因为配置比较方便,文档也很清晰。所以这里先主要讲 nodemon。
nodemon用来监视node.js应用程序中的任何更改并自动重启服务,非常适合用在开发环境中。
nodemon将监视启动目录中的文件,如果有任何文件更改,nodemon将自动重新启动node应用程序。
为了减少频繁改代码造成频繁重启,可以配置时只监听一个主文件,修改完代码后改动一下该文件即可。
安装
npm install -g nodemon
启动应用
nodemon [your node app]
使用帮助
nodemon -h 或者 nodemon --help
如果没有在应用中指定主机和端口,可以在命令中指定:
nodemon ./server.js localhost 8080
开启debug模式
nodemon --debug ./server.js 80
在工程目录下新建 nodemon.json文件,配置如下:
{ "restartable": "rs", "ignore": [ ".git", "node_modules/**/node_modules" ], "verbose": true, "execMap": { "": "node", "js": "node --harmony" }, "watch": [ "./bin/**" ], "env": { "NODE_ENV": "development", "PORT": "8888" }, "ext": "js json", "legacy-watch": false }
nodemon 比较流行的原因之一就是它的可配置性比较高,下面是官网给出的配置文件 nodemon.json 的例子,加上我自己了解到的有用的一些配置,开发环境建议可以把每个参数都写上备用,生产环境就把没有必要的参数去掉,有些字段是可以在命令行模式以参数形式给出的,可以通过 -h 查看,下面逐个解释:
{ "restartable": "rs", "ignore": [ ".git", "node_modules/**/node_modules" ], "verbose": true, "execMap": { "": "node", "test": "gulp test" }, "events": { "start": "echo 'app start'", "crash": "echo 'app crash'", "exit": "echo 'app exit'", "restart": "echo 'app restart'" }, "ext": "js json", "watch": [ "./src/**" ], "env": { "NODE_ENV": "env", "PORT": "3000" }, "legacy-watch": false }
express安装
https://segmentfault.com/a/1190000015170332
npm install express -g // 全局安装express
npm install express-generator -g // 全局安装express脚手架,安装之后可以使用express命令
express --version // 检查express版本
mkdir app
cd app
/**
* 生成项目文件
* express 默认使用ajs模板,加上 -e 指定更友好的ejs模板
*/
express -e
npm intall // 安装依赖
npm start // 启动项目
如何修改程序启动的默认3000端口入口 文件 bin/www