我想将 grunt-contrib-watch 与 livereload 选项一起使用。如果我在打开浏览器之前更改了文件中的内容,那么一切都正确编译。
打开浏览器后,它不再重写文件。也许这个问题是因为我使用的是Windows操作系统?
运行服务器> while(true){更改代码 - 它编译得很好}>运行浏览器
运行服务器>运行浏览器>更改代码 - 获取未知错误。
跑步"节日:模板" (fest)任务
编译" templates / game.xml"至 " public_html / js / tmpl / game.js" ...警告:无法写 "的public_html / JS / TMPL / game.js"文件(错误代码:UNKNOWN)。使用--force 继续。
这是我的 Gruntfile.js :
module.exports = function (grunt) {
grunt.initConfig({
shell: { /*grunt-shell*/
options: { /*настройка задачи*/
stdout: true,
stderr: true
},
server: {
command: 'java -jar 2dContra-1.0-jar-with-dependencies.jar 8080'
}
},
fest: { /*grunt-fest*/
templates: { /*Подзадача*/
files: [{ /* указание файлов группами */
expand: true,
cwd: 'templates', /* исходная директория */
src: '*.xml', /* имена шаблонов */
dest: 'public_html/js/tmpl' /* результирующая директория */
}],
options: { /* формат функции шаблона */
template: function (data) {
return grunt.template.process( /* присваиваем функцию шаблона */
'var <%= name %>Tmpl = <%= contents %> ;',
{data: data}
);
}
}
}
},
watch: { /*grunt-watch*/
fest: {/*Подзадача*/
files: ['templates/*.xml'], /* Следим за шаблонами */
tasks: ['fest'], /* Перекомпилировать */
options: {
interrupt: true,
atBegin: true /* Запустить задачу при старте */
}
},
server: {/*Подзадача*/
files: [ /* Следим за JS */
'public_html/js/**/*.js',
'public_html/css/**/*.css'
],
options: {
livereload: true /* автоматическая перезагрузка */
}
}
},
concurrent: { /*grunt-concurrent*/
target: ['watch', 'shell'],
options: {
logConcurrentOutput: true /* Вывод процесса */
}
}
});
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-concurrent');
grunt.loadNpmTasks('grunt-shell');
grunt.loadNpmTasks('grunt-fest');
grunt.registerTask('default', ['concurrent']);
};
拯救我的生命。我想工作,不要输入&#34; grunt&#34;每当我更改代码时。