在自耕农中集成较少或最简单的方法?

时间:2013-04-29 17:47:51

标签: less gruntjs yeoman

我正在试验yeoman

我想将less整合到我的自耕农或咕噜声中。但我没有找到我这么简单的方法。

我确实找到了yeoman-less存储库,它引用了grunt-contrib-less。但是,如果你是自耕农和咕噜咕噜的新手,那插件很难插件。是不是有一种更容易插入我的yeoman webapp的方法,所以较少的命令会自动添加到grunt构建文件中?

感谢您的提示和技巧!

3 个答案:

答案 0 :(得分:19)

假设您使用yo webapp构建了一个新应用,并使用No回答了这两个问题,那么集成LESS的最佳选择是grunt-recess,您需要先安装它:

npm install --save-dev grunt-recess

如果您不喜欢掉毛规则,可以customize them。您可以随意卸载grunt-compass并将其从package.json中删除。

然后,您需要使用以下代码替换Gruntfile中的compass任务:

    recess: {
        options: {
            compile: true
        },
        dist: {
            files: [{
                expand: true,
                cwd: '<%= yeoman.app %>/styles',
                src: '{,*/}*.less',
                dest: '.tmp/styles/',
                ext: '.css'
            }]
        }
    }

然后,您需要将compass任务的所有剩余引用替换为recess,以便生成的Gruntfile看起来像this one

答案 1 :(得分:1)

这是一个老问题,但我一直在寻找它。所以,这是一个最新的答案:

使用Yeoman的“LessApp”生成器,可在此处找到: https://github.com/robinpokorny/generator-lessapp

答案 2 :(得分:0)

如果您收到以下错误预期recess,则标识为9而不是10。

请将recces添加到您的 grunt.registerTask ,我已经将autoprefixer

放在我的面前
grunt.registerTask('serve', function (target) {
    if (target === 'dist') {
        return grunt.task.run(['build', 'connect:dist:keepalive']);
    }

    grunt.task.run([
        'clean:server',
        'concurrent:server',
        'autoprefixer',
        'recess',
        'connect:livereload',
        'watch'
    ]);
});