我正在使用Grunt来监视我的sass / js文件中的更改并将它们编译到我的公共文件夹中。我已经设置了Livereload功能,但是当我编译我的js时,Livereload会重新加载我的页面2次,这很烦人。我想这是因为我有多个在监视期间创建的JS文件(concat,minify)。
所以我认为仅重新加载我公共文件夹中的更改可能是一个好主意,因为(现在)我只有一个js文件(uglify.js)和一个css文件(main.css)。但是,我无法看到我如何才能实现这一目标。
这是我当前的gruntfile的样子:
module.exports = function (grunt) {
// Project configuration.
grunt.initConfig({
watch: {
watch_js_files: {
files: ['js/*.js'],
tasks: ['concat', 'minified', 'uglify'],
},
watch_sass_files: {
files: ['css/*.scss'],
tasks: ['sass'],
}
},
connect: {
server: {
options: {
open: true,
keepalive: true,
hostname: 'localhost',
port: 8080,
base: ''
}
}
},
concat: {
dist: {
src: ['js/*.js'],
dest: 'js/min/concat.js'
},
},
minified: {
files: {
src: ['js/min/concat.js'],
dest: 'js/min/minified.js'
},
},
uglify: {
my_target: {
files: {
'public/js/uglify.js': ['js/min/minified.jsconcat.js']
}
}
},
sass: {
dist: {
files: {
'public/css/main.css': 'css/*.scss'
}
}
}
});
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.loadNpmTasks('grunt-minified');
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-sass');
grunt.loadNpmTasks('grunt-contrib-connect');
};
答案 0 :(得分:0)
我已在手表中添加了重新加载任务:
reload: {
files: ['*.html', 'public/css/*.css', 'public/js/*.js'],
options: {
livereload: true,
host: 'localhost',
port: 35729,
}
},
现在它有效:)