我正在尝试用Grunt运行Sass任务。
我的配置是:
grunt.initConfig({
sass: {
dist: {
files: [{
src: [
'app/assets/css/sass/*.scss'
],
dest: 'app/assets/css',
ext: '.css'
}]
}
}
});
我得到了一个" EISDIR:是一个目录 - app / assets / css"错误。
我查了很多答案,并且一直试图解决这个问题2个小时。目录存在,我尝试使用完整路径(C:/ ...),然后使用反斜杠。同样的错误。
没有咕噜声运行sass工作正常。
答案 0 :(得分:4)
我认为你缺少dest
的尾部斜杠来表示目录而不是文件。
另外(在第一次编辑时遗漏),添加expand
以启用动态文件对象。
:此强>
grunt.initConfig({
sass: {
dist: {
files: [{
expand: true,
src: [
'app/assets/css/sass/*.scss'
],
dest: 'app/assets/css/',
ext: '.css'
}]
}
}
});
而不是
grunt.initConfig({
sass: {
dist: {
files: [{
src: [
'app/assets/css/sass/*.scss'
],
dest: 'app/assets/css',
ext: '.css'
}]
}
}
});
编辑:将expand:true
添加到原始答案,并在dest
上保留尾部斜杠。
答案 1 :(得分:1)
就我而言,虽然我已经实施了批准的解决方案(Matthew)中提出的建议,但我仍面临同样的问题。
事实上,一些以前的Ruby实例仍然在后台运行。我在任务管理器中杀死了他们(我在Windows 7上)并且问题消失了。