每次我更改服务器文件时,我正在使用browser-refresh
重新启动节点服务器。我想更进一步,每次我对HTML文件进行更改时都会刷新/重新加载浏览器。我正在为客户端使用把手,因此我的.hbs
目录中有views
个文件。我认为browser-refresh
也应该能够刷新浏览器,但它对我不起作用。
对于grunt
,我安装了以下任务:
grunt.loadNpmTasks('grunt-express-server');
grunt.loadNpmTasks('grunt-express');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-contrib-connect');
grunt.loadNpmTasks('grunt-exec');
grunt.loadNpmTasks('grunt-open');
grunt.loadNpmTasks('grunt-express-runner');
我认为我不需要所有这些,但我想找到有用的东西。我可以使用grunt-exec
重启我的服务器,但我已经有了browser-refresh
的别名,所以我真的不需要。
我还应该注意,在我的app.js
服务器文件中,我使用的是app.use('/', routes);
var routes = require('./routes/index');
。因此,当我的应用加载时(使用node app.js
),它会直接转到http://localhost:3000/users/login。
提前致谢。
答案 0 :(得分:0)
使用grunt-contrib-watch并将Live reload选项设置为true,将启用实时重新加载和grunt自动重建。
例如,在你的gruntfile.js中:
watch: {
css: {
files: '**/*.sass',
tasks: ['sass'],
options: {
livereload: true,
},
},
},
要重建您的网站,(使用grunt-contrib-watch插件),只需输入
即可 grunt watch
要根据更改自动重建您的网站,请查看以下grunt watch
命令的示例用法:
gruntfile.js
module.exports = function (grunt) {
grunt.initConfig({
exec: {
server: 'node server'
},
// Other JS tasks here
// ...
watch: {
css: {
files: ['scss/**/*.scss'],
tasks: ['sass'],
options: {
spawn: false
}
},
javascript: {
files: ['js/*.js'],
tasks: ['uglify']
},
options: {
livereload: true,
},
},
});
grunt.registerTask('server', ['exec:server']);
// Minify JS and create CSS files
grunt.registerTask('build', ['uglify', 'sass']);
// Do what you expect the default task to do
grunt.registerTask('default', ['build', 'exec:server']);
};