0

我有很多不同的部分和 sass 文件来生成 11 个单独的网站特定样式表,所以如果我对所有 11 个样式表中使用的部分进行更改,那么我必须等待 grunt 编译所有这些,然后才能刷新我的浏览器并查看更改,我的一种解决方法是使用指定选项并根据我正在处理的站点更改站点 ID -

compass: {
    dev: {
        options: {
            sassDir: "assets/sass",
            specify: "assets/sass/site_##.scss",
            cssDir: "assets/styles",
            outputStyle: "expanded",
            noLineComments: false,
            sourcemap: true
        }
    }
},

watch: {
    css: {
        files: 'assets/sass/**/*',
        tasks: 'compass',
    },
},

有没有办法可以在监视任务中使这个动态化,即使用附加到正文或其他东西的 ID?

我的部分 -

  • _重置
  • _网格
  • _布局
  • _变量
  • _mixins
  • _品牌1
  • _brand2
  • _brand3
  • _夏天
  • _冬天
  • _site_1_specific
  • _site_2_specific
  • _site_3_specific
  • _site_4_specific
  • _site_5_specific
  • _site_6_specific
  • _site_7_specific
  • _site_7_specific
  • _site_9_specific
  • _site_10_specific
  • _site_11_specific

然后我有 11 个 SCSS 文件导入上述部分的组合来制作最终的样式表。

4

1 回答 1

1

您可以使用grunt-newer, 帮助您仅在更改的文件中执行指南针任务:

https://github.com/tschaub/grunt-newer

npm install grunt-newer --save-dev

grunt.loadNpmTasks('grunt-newer');

然后,你必须改变你的watch任务:

watch: {
    css: {
        files: '<%= tui.sass %>/**/*',
        tasks: ['newer:compass']
    },
},

希望能帮助到你。

问候。

于 2014-08-06T11:37:28.783 回答