Grunt - 如何在同一任务中将文件指定给多个目标?

Grunt - how can I specify files to multiple targets in the same task?

我有 2 个 sass 个目标。 一个创建调试信息,另一个不创建。

如果我不 copy/paste 目标之间的文件部分,它似乎不起作用。

sass: {
  server: {
    options: {
      debugInfo: true
    },
    files: {
      '.tmp/styles/main.css': '<%= yeoman.app %>/styles/main.scss'
    }
  },
  dist: {

    files: {
      '.tmp/styles/main.css': '<%= yeoman.app %>/styles/main.scss'
    }
  }
},

如何重用文件 decleration?

从 grunt-sass 的角度来看,您不能在多个目标之间共享文件声明。

但是为了避免在你的 Gruntfile 中重复,你总是可以使用普通的旧 Javascript 变量:

var cssFiles = {
  '.tmp/styles/main.css': '<%= yeoman.app %>/styles/main.scss'
}
// ...
grunt.initConfig({
  // ...
  sass: {
    server: {
      options: {debugInfo: true},
      files: cssFiles
    },
    dist: {
      files: cssFiles
    }
  },
  // ...
});