我目前正在使用Grunt和livereload,但由於某種原因,最後一次在服務器文件更改時不再重新啓動服務器。它正在監視服務器文件,當文件發生更改時,我收到了一條Reload server/some_dir/some_file.js
消息,但這似乎不夠。LiveReload不再完全重新啓動服務器
watch: {
jade: {
files: [
'<%= yeoman.server %>/**/*.jade',
'<%= yeoman.app %>/**/*.jade'
],
tasks: ['jade']
},
compass: {
files: ['<%= yeoman.app %>/styles/{,*/}*.{scss,sass}'],
tasks: ['compass']
},
livereload: {
options: { livereload: true },
files: [
'{.tmp,<%= yeoman.server %>}/**/*.js',
'{.tmp,<%= yeoman.app %>}/styles/{,*/}*.css',
'{.tmp,<%= yeoman.app %>}/scripts/**/*.js',
'{.tmp,<%= yeoman.app %>}/**/*.html',
'<%= yeoman.app %>/images/{,*/}*.{png,jpg,jpeg,gif,webp,svg}'
],
tasks: ['livereload']
},
server: {
files: [ './server/**/*' ],
tasks: [ 'express:dev', 'livereload-start' ]
}
}
grunt.registerTask('server', [
'clean:server',
'jade',
'compass:server',
'express:dev',
'livereload-start',
'connect:livereload',
'watch' // if I replace this with 'watch:server' the server does restart properly, but html/css updates are obviously gone
]);
不幸的是,我似乎被綁回到使用舊的grunt-contrib-livereload gem,因爲使用grunt-contrib-watch時livereload chrome擴展會拋出。 – chris
真正的問題不在於livereload,而是服務器沒有完全重新啓動服務器文件更改。 – chris