我是Grunt的新手.我以为我会尝试一下,所以我创建了这个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
- 但没有引用那里的构建目录.
我相信这可能是因为某些任务正在发生碰撞而文件尚未准备就绪可能还没有合作?是否有任务订单?
请耐心等待,因为这是全新的!
谢谢,迈克尔.
我注意到这已经很老了,但我会为后代添加一个答案.
由于SASS文件中缺少变量,因此发生了这种情况.
尝试在您的grunt命令中添加"--force".构建仍然会失败,但您可能会收到更有用的错误消息.