如何将lesshat导入到每个已编译的.less文件中

时间:2015-01-30 19:16:29

标签: gruntjs less grunt-contrib-less lesshat

在grunt-contrib-stylus中有一个导入选项:

进口

类型:数组

将指定的手写笔软件包导入到每个已编译的.styl文件中,就好像你写了' @import' ...'在每个文件中。

options: {
            compress: false,
            use: [ require('kouto-swiss') ],
            import: [ 'kouto-swiss' ]
         },

如何在grunt-contrib-less中使用lesshat做同样的事情?

由于

1 个答案:

答案 0 :(得分:1)

从版本2开始,您可以轻松创建插件。感谢Implementing preprocessing plugins,您也可以创建预处理插件。

预处理插件使您能够在处理之前注入更少的代码:

 LesshatProcessor.prototype = {
            process : function (src, extra) {
            var injected = '@import "' + path.resolve(__dirname, '../') + '/node_modules/lesshat/build/lesshat.less";\n';
            var ignored = extra.imports.contentsIgnoredChars;
            var fileInfo = extra.fileInfo;
            ignored[fileInfo.filename] = ignored[fileInfo.filename] || 0;
            ignored[fileInfo.filename] += injected.length;
            return injected + src;
            }
};

我已经创建了一个Lesshat插件:https://github.com/bassjobsen/less-plugin-lesshat。通过运行npm install less-plugin-lesshat安装此插件后,您就可以运行:lessc file.less --lesshat

您也可以将此插件与grunt-contrib-less一起使用:

grunt.initConfig({
    less: {

        options: {
           plugins: [
                new (require('less-plugin-lesshat'))()
            ]
       },
        files: {'css/test.css' : 'less/test.less'}
      }
)};

请注意,您应该安装最新版本的Less with grunt-contrib-less,直到Less有updated the version number(并且grunt-contrib-less使用该版本)。

立即使用该插件:

  1. 运行npm install grunt-contrib-less
  2. 导航至node_modules/grunt-contrib-less/
  3. 删除node_modules/less
  4. 下载并解压缩最新版本的Less https://github.com/less/less.js/archive/master.zip
  5. 运行npm install ./less.js