grunt-contrib-less无法从grunt-spritesmith生成的更少文件中构建CSS

时间:2019-02-07 14:22:52

标签: gruntjs less grunt-contrib-less grunt-spritesmith

我遇到了一些麻烦,需要减少我的咕unt声才能正常运行。尝试将更少的grunt-spritesmith创建的文件包含到我的styles.css文件中时,它会中断。

嗨,在旧项目中,我最近不得不将less从2.7.3更新到3.9.0,这迫使我将grunt-contrib-less从1.4.1更新到了2.0.0。所有这些更新的结果是,我的less任务将无法构建less创建的grunt-spritesmith文件(版本6.6.2,从6.6.0更新)。

我尝试组合不同版本的软件包,但没有一个起作用。此任务设置已经使用了多年,并且我不得不将less的版本升级到3+,以允许less中的“每个”功能符合供应商文件。

运行grunt less时出现以下错误:

Running "less:dev" (less) task

src\assets\style\sprites.less: [L472:C0] Cannot read property 'eval' of null
Warning: Error compiling src/assets/style/style.less Use --force to continue.

Aborted due to warnings.

文件中的第472行如下所示,其由grunt-spritesmith生成:

@spritesheet: 416px 416px '../../../assets/img/icons-color.png?t=1549289011708' @spritesheet-sprites;

包装:

  • grunt@0.4.5
  • grunt-cli@0.1.13
  • grunt-contrib-less@2.0.0
  • grunt-spritesmith@6.6.2
  • less@3.9.0

如果您有任何建议,我将不胜感激。

谢谢

精灵较少的配置如下:

var cfg = {
    sources: 'resources/icons/used/color/' + options.config.iconSize + '/*.png',
    sourcesSmall: 'resources/icons/used/color/16x16/*.png',
    dev: {
        spritePath: 'src/assets/img/',
        lessPath: 'src/assets/style/',
        imagePath: '../../../assets/img/'
    },
    dist: {
        spritePath: 'dist/assets/img/',
        lessPath: 'build/css/style/',
        imagePath: 'img/'
    }
};

return {
    'color-dist': {
        src: cfg.sources,
        dest: cfg.dist.spritePath + 'icons-color.png',
        destCss: cfg.dist.lessPath + 'sprites-color.less',
        imgPath: cfg.dist.imagePath + 'icons-color.png?t=' + options.timestamp
    },
    'color-dist-small': {
        src: cfg.sourcesSmall,
        dest: cfg.dist.spritePath + 'icons-color-small.png',
        destCss: cfg.dist.lessPath + 'sprites-color-small.less',
        imgPath: cfg.dist.imagePath + 'icons-color-small.png?t=' + options.timestamp
    },
    'color-dev': {
        src: cfg.sources,
        dest: cfg.dev.spritePath + 'icons-color.png',
        destCss: cfg.dev.lessPath + 'sprites-color.less',
        imgPath: cfg.dev.imagePath + 'icons-color.png?t=' + options.timestamp
    },
    'color-dev-small': {
        src: cfg.sourcesSmall,
        dest: cfg.dev.spritePath + 'icons-color-small.png',
        destCss: cfg.dev.lessPath + 'sprites-color-small.less',
        imgPath: cfg.dev.imagePath + 'icons-color-small.png?t=' + options.timestamp
    }
};

less:dev配置:

dev: {
    options: {
        paths: ['src/assets/style'],
        compress: false,
        relativeUrls: true,
        strictMath: true
    },
    files: {
        "src/assets/style/style.css": "src/assets/style/style.less"
    }
},

0 个答案:

没有答案