Как использовать less-plugin-clean-css с grunt-contrib-less?

Я пытаюсь использовать less-plugin-clean-css с grunt-contrib-less, но я не могу запустить его. Кажется, конфигурация grunt не может найти или установить плагин. Это ответвление bootstrap, которое я поддерживаю.

Я обновил Gruntfile.js с помощью:

grunt.initConfig({
...
less: {
  compileCore: {
    options: {
      strictMath: true,
      sourceMap: true,
      outputSourceFiles: true,
   +  plugins: [
   +    (new require('less-plugin-clean-css')({
   +      "advanced": true,
   +      "compatibility": "ie8"
   +    }))
   +   ],
      sourceMapURL: '<%= pkg.name %>.css.map',
      sourceMapFilename: 'dist/css/<%= pkg.name %>.css.map'
    },
    src: 'less/bootstrap.less',
    dest: 'dist/css/<%= pkg.name %>.css'
  ...
  }
},

Установил плагин:

npm install less-plugin-clean-css --save-dev

Запустите grunt и получите эту ошибку:

Running "less:compileCore" (less) task
>> TypeError: Cannot read property 'install' of undefined

Что мне не хватает?


person Caqu    schedule 19.05.2015    source источник


Ответы (1)


Правильный синтаксис требует дополнительных скобок вокруг требования:

plugins: [
    (new (require('less-plugin-clean-css'))({
        advanced: true,
        compatibility: 'ie8'
    }))
]
person Caqu    schedule 19.05.2015