我是Grunt的新手。我以为我试一试,所以我创建了这个咕噜咕噜的文件。
module.exports = function(grunt) {
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
concat: {
css: {
src: [
'./css/*'
],
dest: './css/all.css'
},
js: {
src: [
'./js/*'
],
dest: './js/all.js'
}
},
uglify: {
js: {
files: {
'./js/build/all.min.js': ['./js/all.js']
}
}
},
sass: {
build: {
files: [{
expand: true,
cwd: './css/sass',
src: ['*.scss'],
dest: './css',
ext: '.css'
}]
}
},
cssmin: {
css: {
src: './css/all.css',
dest: './css/build/all.min.css'
}
},
watch: {
files: ['./css/sass/*', './js/*'],
tasks: ['sass:build','concat:css', 'cssmin:css', 'concat:js', 'uglify:js']
}
});
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-contrib-sass');
grunt.loadNpmTasks('grunt-contrib-cssmin');
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.registerTask('dev', ['sass:build','concat:css', 'cssmin:css', 'concat:js', 'uglify:js']);
};
当我跑步时,grunt watch'并对.scss文件进行更改,终端抱怨然后中止。
Running "watch" task
Waiting...
>> File "css/sass/all.scss" changed.
Running "sass:build" (sass) task
File css/all.css created.
Running "concat:css" (concat) task
Warning: Unable to read "./css/build" file (Error code: EISDIR). Use --force to continue.
Aborted due to warnings.
Completed in 1.276s at Thu May 01 2014 23:53:59 GMT+0100 (BST) - Waiting...
有人可以指出我出错的地方吗?
看起来是concat:css
- 但是那里没有对构建目录的引用。
我认为这可能是因为某些任务正在发生冲突,文件还没有准备好与之合作?订单是否有任务?
请耐心等待,因为它全新!
谢谢, 迈克尔。
答案 0 :(得分:8)
我注意到这已经很老了,但我会为后代添加一个答案。
由于SASS文件中缺少变量,因此发生了这种情况。
尝试在您的grunt命令中添加“--force”。构建仍然会失败,但您可能会收到更有用的错误消息。
答案 1 :(得分:4)
尝试将nospawn: true
选项添加到sass任务选项中。
此外,如果您想要更完整的错误回复,可以运行grunt --verbose