sub*_*lue 102 node.js sails.js
目前似乎对于sails.js应用程序中的任何代码更改,您必须手动停止sails服务器并sails lift
再次运行,然后才能看到更改.
我想知道在开发模式下运行时是否有任何方法在检测到代码更改时自动重启sails服务器?
San*_*nda 73
你必须使用像forever,nodemon或其他东西一样的观察者......
通过运行永远安装:
sudo npm install -g forever
运行:
forever -w start app.js
为避免无限重启,因为Sails写入.tmp
文件夹,您可以.foreverignore
在项目目录中创建一个文件并将此内容放入:
**/.tmp/**
**/views/**
**/assets/**
Run Code Online (Sandbox Code Playgroud)
请参阅GitHub上的问题: 由于/.tmp而永远重启.
wos*_*oss 44
例如,nodemon
用于观看api和config目录
.nodemonignore
内容
views/*
.tmp/*
.git/*
Run Code Online (Sandbox Code Playgroud)
创建.nodemonignore后运行该命令
$> nodemon -w api -w config
Run Code Online (Sandbox Code Playgroud)
主管忽略3个目录的示例
$> supervisor -i .tmp,.git,views app.js
Run Code Online (Sandbox Code Playgroud)
如果您使用的是Sails 0.11,则可以安装此挂钩以在更改模型或控制器时自动重新加载(视图不需要重新加载):
npm install sails-hook-autoreload
Run Code Online (Sandbox Code Playgroud)
https://www.npmjs.com/package/sails-hook-autoreload
我有同样的问题,我使用grunt-watch和grunt-forever与sails @ beta任务解决了它.结果是4个grunt命令:
更新:任务在当前风帆版本中可用(它不再是beta:>)
这是代码 - 我正在使用sails @ beta,其中包含一个任务目录,我不知道这是否包含在以前的版本中:
首先,你必须永远安装在你的sails目录中:
npm install grunt-forever --save-dev
Run Code Online (Sandbox Code Playgroud)tasks/config / forever.js永远配置任务.
module.exports = function(grunt) {
grunt.config.set('forever', {
server: {
options: {
index: 'app.js',
logDir: 'logs'
}
}
});
grunt.loadNpmTasks('grunt-forever');
};
Run Code Online (Sandbox Code Playgroud)tasks/config/watch.js(编辑)编辑监视任务以添加新规则
// api and assets default rules
,
server: {
// Server files to watch:
files: [
'api/**/*',
'config/**/*'
],
// Restart server
tasks: ['forever:server:restart']
}
Run Code Online (Sandbox Code Playgroud)tasks/register/watchForever.js注册您的自定义任务(此文件可以重命名为您想要的任何内容)
module.exports = function(grunt) {
// Starts server
grunt.registerTask('start', [
'compileAssets',
'linkAssetsBuild',
'clean:build',
'copy:build',
'forever:server:start'
]);
// Restarts the server (if necessary) and waits for changes
grunt.registerTask('startWatch', [
'restart',
'watch:server'
]);
// Restarts server
grunt.registerTask('restart', [
'forever:server:restart'
]);
// Stops server
grunt.registerTask('stop', [
'forever:server:stop'
]);
};
Run Code Online (Sandbox Code Playgroud)有了这个,你应该可以使用
grunt startWatch
Run Code Online (Sandbox Code Playgroud)
并让服务器等待重新启动更改:>
希望这有帮助!
nodemon
全局或本地安装.
npm install nodemon --save
npm install nodemon -g
Run Code Online (Sandbox Code Playgroud)
sails
在您的项目中本地安装如下
npm install sails --save
Run Code Online (Sandbox Code Playgroud)
然后改变 package.json
从
"scripts": {
"debug": "node debug app.js",
"start": "node app.js"
},
Run Code Online (Sandbox Code Playgroud)
至
"scripts": {
"debug": "node debug app.js",
"start": "node app.js",
"dev": "export NODE_ENV=development && nodemon --ignore 'tmp/*' app.js && exit 0"
},
Run Code Online (Sandbox Code Playgroud)
然后
npm run dev
Run Code Online (Sandbox Code Playgroud)
小智 6
更好地使用
npm install -g nodemon
Run Code Online (Sandbox Code Playgroud)
我正在使用它,它将有助于提高我的开发速度。无需为此编辑任何文件!。
安装后
nodemon app.js
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
37826 次 |
最近记录: |