小智 17
最简单的方法是运行nodemon heroku local作为可执行文件 - 即nodemon --exec "heroku local".
但是,heroku local对于默认的nodemon关闭信号(SIGUSR2),退出时出现非零退出代码,因此需要向nodemon添加一个额外的标志,以将中断信号设置为SIGTERM.
nodemon --exec "heroku local" --signal SIGTERM
(用heroku-cli@6.14.31-33a2d0a,nodemon @ 1.12.1,node@8.5.0测试)
heroku local只是使用node-foreman(https://www.npmjs.com/package/heroku-local),因此更容易直接用于观看.
首先,安装foreman和nodemon:
npm i --save-dev foreman nodemon
Run Code Online (Sandbox Code Playgroud)
现在,您需要在以下位置设置两个脚本package.json:
{
...
"scripts": {
"start": "nf start",
"watch": "nodemon --watch directory-to-watch"
},
...
}
Run Code Online (Sandbox Code Playgroud)
您现在可以在监视该目录时运行该应用程序并重新加载更改
npm run watch
Run Code Online (Sandbox Code Playgroud)
我认为这heroku local将用于watch更改静态资源(客户端代码)。但是,在每次对 Web 服务器(服务器端代码)进行源代码更改时手动重新启动服务器显然并不理想。
如果您正在创建 NodeJS 应用程序,我的建议是尝试watchGulp 提供的命令。但是,这还要求您 (a) 安装 Gulp,以及 (b) 编写 Gulp 脚本。heroku local同样,此解决方案仅适用于 NodeJS,如果为您查看文件,则不需要这些步骤。
安装咕噜
npm install gulp --save-dev
Run Code Online (Sandbox Code Playgroud)添加 Gulp 脚本(Procfile 所在的位置)
注意:无法使以下watch代码成功工作,但它可能为其他人提供创建工作解决方案的模板。
var gulp = require('gulp');
var exec = require('child_process').exec;
gulp.task('heroku-local', function () {
exec("heroku local");
});
gulp.task('heroku-local:watch', function () {
gulp.watch([
'file-to-watch',
'folder-to-watch/**/*'
], ['heroku-local']);
});
Run Code Online (Sandbox Code Playgroud)运行 Gulp 脚本(从 Procfile 所在的目录)
gulp heroku-local:watch
Run Code Online (Sandbox Code Playgroud)| 归档时间: |
|
| 查看次数: |
3532 次 |
| 最近记录: |