动态更改 'dest' 选项

Change 'dest' option dynamically

大家好,

关注这个问题:https://github.com/gruntjs/grunt-contrib-sass/issues/190

我正在尝试根据 'src' 选项指定 'dest' 选项。 唯一的区别是必须删除的 /scss

这是我当前代码的示例:

    sass: {
      dist: {
        options: {
          style: 'expanded',
          sourcemap: 'none',
          trace: true,
        },
        files: {
          './css/laptop.css': './scss/css/laptop.scss',
         ....
         ... (160 more lines)
         ....
          './css/player.css': './scss/css/player.scss'
        }
      }
    },

我试过了

    files: [{
      expand: true,
      src: ['**/*.scss'],
      dest: function(path) { return path.replace(/(\/scss)/,"") },
      ext: '.css'
    }]

但显然Warning: Arguments to path.join must be strings Use --force to continue.

谢谢!

经过一些研究,我发现 grunt-newer 可以这样使用:

  css:{
    files: [
      './scss/**'
    ],
    tasks: ['newer:sass'],
    livereload: {
      options: { livereload: true },
      files: ['./**'],
    },
  }

这不是我真正想要做的,但它完美地优化了 grunt 过程。非常不错的插件!!