grunt-contrib-less не в состоянии собрать css из меньшего количества файлов, сгенерированных grunt-spritesmith - PullRequest
0 голосов
/ 07 февраля 2019

У меня проблемы с тем, чтобы моя задача не выполнялась правильно.Он ломается при попытке включить меньше файлов, созданных 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 Iполучить следующую ошибку:

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
    }
};

меньше: конфигурация dev:

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