1

我正在尝试将我的 Gruntfile 配置为为我的 CSS 文件自动生成源映射。我有几个未缩小的 CSS 文件,我将它们合并到一个缩小文件中,但我想引用未缩小的文件以dist/src/_assets/css/通过源映射进行调试。我正在使用 grunt-contrib-cssmin 版本 0.14.0 和 grunt 0.4.5。

我的目标项目结构大致是:

  • 距离
    • _资产
      • css
    • 源代码
      • _资产
        • css
  • 源代码
    • _资产
      • css

我的 grunt-contrib-cssmin 配置是:

        cssmin: {
            options: {
                keepSpecialComments: false,
                sourceMap: true
            },
            build: {
                files: {
                    'dist/_assets/css/portfolio.css': [
                        'src/_assets/css/bootstrap.css',
                        'src/_assets/css/font-awesome.css',
                        'src/_assets/css/portfolio.css'
                    ]
                }
            }
        },

我有一个单独的复制任务,将bootstrap.cssfont-awesome.cssportfolio.css复制到dist/src/_assets/css,但由于某种原因,源映射试图引用dist/_assets/css/src/_assets/css/而不是dist/src/_assets/css. 有什么方法可以修改源映射正在查看的目录,而无需手动修改源映射?这让我很困惑,因为 grunt-contrib-uglify 中的基本相同设置完全符合我对源映射的要求(即它们引用dist/src/_assets/js)。

4

2 回答 2

2

好吧,我放弃了尝试直接在其中配置 sourcemap 路径,grunt-contrib-cssmin而只是使用grunt-text-replace来使我的路径保持一致:

replace: {
    build: {
        src: 'dist/_assets/css/portfolio.css.map',
        dest: 'dist/_assets/css/',
        replacements: [
            {
                from: 'src/_assets/css/',
                to: '../../../src/_assets/css/'
            }
        ]
    }
},
于 2015-10-11T19:06:39.777 回答
0

到目前为止,grunt-contrib-cssmin 不提供任何源映射路径选项,如功能。我建议仅将 cssmin 用于生产而不是用于开发。

Kyo Nagashima 的“csswring”可能是您问题的解决方案......

于 2015-10-10T22:45:03.813 回答