Sass与Grunt无法正常运行

8

我一直在尝试设置grunt任务来编译我的sass文件,但似乎没有任何作用。

我的工作结构是:

  Gruntfile.js
  package.json
  assets
  |
  |--sass
  |  |
  |  styles.scss
  |
  |--css

这是我的Grunt文件。

'use strict';

module.exports = function (grunt) {

grunt.initConfig({
    sass: {
        dist: {
            options: {
                style: 'expanded'
            },
            files: [{
                expand: true,
                cwd: 'assets/sass',
                src: ['*.scss'],
                dest: '../css',
                ext: '.css'
            }]
        }
    }
});
grunt.loadNpmTasks('grunt-sass');

grunt.registerTask('default', ['sass']);
};

我已经确认我已安装了SASS
当我运行grunt sass时,它说一切正常。但我还没有看到编译的CSS文件。我唯一使这个工作的方法是使用"destination" : "source"语法。 编辑:我遇到的确切问题不是文件生成在错误的位置,而是它们没有生成。此外,grunt没有显示任何错误。
有人知道出了什么问题吗?
1个回答

20

这个配置对我来说行得通:

files: [{
    expand: true,
    cwd: 'assets/sass',
    src: ['**/*.scss'],
    dest: 'assets/css',
    ext: '.css'
}]

也许是因为../的缘故;我认为目标路径不是相对于源路径,而是相对于Gruntfile的。


不确定是我的系统没有工作,还是文件没有在我认为它们应该生成的时候生成了,导致它没有起作用,但是你的代码让它起作用了。谢谢。 - alexdmejias
1
'cwd' 代表什么?当前工作目录?将 cwd 更改为您建议的内容解决了我的问题。 - Mark Robson
可能是个bug,我也遇到过这种情况。我把我的files:改成了@Ben建议的方式,然后又把一切都恢复到之前的状态。现在一切正常。 - Dexter
在我的情况下,出现了一些问题,是因为末尾有一个斜杠“/”。将其去掉后就可以正常工作了。虽然看起来有点奇怪。 - Justin Jenkins

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接