如何控制grunt-contrib-cssmin源图URL?

时间:2015-10-09 19:25:46

标签: gruntjs source-maps grunt-contrib-cssmin

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

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

  • DIST
    • _assets
      • CSS
    • SRC
      • _assets
        • CSS
  • SRC
    • _assets
      • 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.css font-awesome.css portfolio.css 复制到{{1但是由于某种原因,源图试图引用dist/src/_assets/css而不是dist/_assets/css/src/_assets/css/。有没有什么办法可以修改sourcemap正在查看的目录而无需手动修改源图?这对我来说非常混乱,因为grunt-contrib-uglify中基本上相同的设置完全符合我对源图的要求(即它们引用dist/src/_assets/css)。

2 个答案:

答案 0 :(得分:2)

好吧,我放弃了尝试直接在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/'
            }
        ]
    }
},

答案 1 :(得分:0)

grunt-contrib-cssmin现在不提供任何类似于功能的源映射路径选项。我建议仅将cssmin用于生产而不用于开发。

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