Grunt Watch 未观察到 html 文件以外的任何文件的任何更改
Grunt Watch not observing any changes to any file aside from html files
这是我的 "watch" g运行t 任务的基本视图:
module.exports = function(grunt){
require("matchdep").filterDev("grunt-*").forEach(grunt.loadNpmTasks);
grunt.initConfig({
watch: {
options: {
livereload: true,
},
gruntfile:{
files:['gruntfile.js'],
tasks:['default']
},
html: {
files: ['index.html', 'assets/templates/*.html'],
tasks: ['default']
},
js: {
files: ['assets/js/*.js'],
tasks: ['default']
},
sass: {
options:{
livereload:false
},
files:['assets/sass/*.scss'],
tasks:['buildcss'],
},
css:{
files:['assets/sass/*.scss'],
tasks:[]
},
},
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.registerTask('default', ['htmlhint','buildjs', 'buildcss', 'browserSync', 'watch','serve']);
};
所以我有 buildcss 可以将我的 scss 编译并缩小到 master.css 文件中。我已经设置了 watch 来监视 scss 的变化,运行 buildcss 任务,然后 运行 一旦 master.css 文件更新后的默认任务。然后它应该刷新页面。
但是,每当我更改 scss 文件并保存它时,终端不会显示任何文件更新,即使它显然是 "watching files..."。当我进行更改时,唯一显示为已更新的文件是 html 文件:索引和模板。对我来说完全是无稽之谈。抱歉,我是第一次在这里配置 G运行t。
我混淆了 watch 和 browserSync,而不是一起使用它们。首先,我必须将 watchTask: true 添加到 browserSync,然后我必须确保在 watch 之前调用 browserSync,然后我必须添加控制台提示我添加到我的 index.html 的代码片段。现在它完美地工作。这是我用来寻找方法的网站:http://blog.teamtreehouse.com/getting-started-with-grunt
这是我的 "watch" g运行t 任务的基本视图:
module.exports = function(grunt){
require("matchdep").filterDev("grunt-*").forEach(grunt.loadNpmTasks);
grunt.initConfig({
watch: {
options: {
livereload: true,
},
gruntfile:{
files:['gruntfile.js'],
tasks:['default']
},
html: {
files: ['index.html', 'assets/templates/*.html'],
tasks: ['default']
},
js: {
files: ['assets/js/*.js'],
tasks: ['default']
},
sass: {
options:{
livereload:false
},
files:['assets/sass/*.scss'],
tasks:['buildcss'],
},
css:{
files:['assets/sass/*.scss'],
tasks:[]
},
},
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.registerTask('default', ['htmlhint','buildjs', 'buildcss', 'browserSync', 'watch','serve']);
};
所以我有 buildcss 可以将我的 scss 编译并缩小到 master.css 文件中。我已经设置了 watch 来监视 scss 的变化,运行 buildcss 任务,然后 运行 一旦 master.css 文件更新后的默认任务。然后它应该刷新页面。 但是,每当我更改 scss 文件并保存它时,终端不会显示任何文件更新,即使它显然是 "watching files..."。当我进行更改时,唯一显示为已更新的文件是 html 文件:索引和模板。对我来说完全是无稽之谈。抱歉,我是第一次在这里配置 G运行t。
我混淆了 watch 和 browserSync,而不是一起使用它们。首先,我必须将 watchTask: true 添加到 browserSync,然后我必须确保在 watch 之前调用 browserSync,然后我必须添加控制台提示我添加到我的 index.html 的代码片段。现在它完美地工作。这是我用来寻找方法的网站:http://blog.teamtreehouse.com/getting-started-with-grunt