我正在使用Grunt生活,通过观看将我的SASS文件转换为CSS。
问题是:我可以正常运行Compass任务,CSS很好地创建,但是当我使用WATCH时,我得到了错误:
grunt.util._.contains不是一个函数
这是我的package.json
{
"name": "myName",
"description": "myDesc",
"author": "mySelf",
"version": "0.0.1",
"private": true,
"devDependencies": {
"grunt": "^1.0.1",
"grunt-contrib-compass": "^1.1.1",
"grunt-contrib-jshint": "^0.10.0",
"grunt-contrib-nodeunit": "~0.4.1",
"grunt-contrib-sass": "^1.0.0",
"grunt-contrib-uglify": "^0.5.1",
"grunt-contrib-watch": "^0.4.4"
}
}这是我的Gruntfile.js
module.exports = function(grunt) {
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
compass: {
dist: {
options: {
config: 'config.rb'
}
}
},
watch: {
css: {
files: 'assets/**/*.{scss,sass}',
tasks: ['compass']
}
}
});
grunt.loadNpmTasks('grunt-contrib-compass');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.registerTask('default',['compass','watch']);
};我尝试了很多改变,但没有任何帮助。
更新! 经过漫长的一夜,解决了问题..。请读我自己的答案
发布于 2016-07-15 21:47:21
我解决了问题!^4.0 lodash版本已将contains更改为includes,并且grunt-contrib-watch使用了旧的送交语法。所以我只修改了代码中的一行。在第116行找到node_modules/grunt-contrib-watch/tasks/watch.js:
老台词:
如果(!grunt.util._.contains(target.options.event,‘all’&& !grunt.util._.contains(target.options.event,状态){
新项目:
如果(!grunt.util._.includes(target.options.event,‘all’&& !grunt.util._.includes(target.options.event,状态){
现在,使用Compass/SASS的手表工作起来就像一种魅力;)
我希望它能帮到别人!
https://stackoverflow.com/questions/38389280
复制相似问题