我正在使用 Grunt 来编译我的 LESS。以下是您必须添加到 package.json 中的依赖项:
"devDependencies": {
"grunt": "0.4.1",
"grunt-contrib-concat": "0.3.0",
"grunt-contrib-watch": "0.4.4",
"assemble-less": "0.4.8"
}
这是我的 Gruntfile.js 的样子:
module.exports = function(grunt) {
grunt.initConfig({
less: {
project: {
options: {
paths: ['src/css/less'],
yuicompress: true
},
src: ['src/css/less/index.less'],
dest: 'src/css/styles.css'
}
},
watch: {
css: {
files: ['src/css/less/**/*.less'],
tasks: ['less']
}
}
});
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('assemble-less');
// grunt.registerTask('default', ['concat', 'less']);
grunt.registerTask('default', ['less', 'watch']);
}
我只需输入grunt在开始工作之前。一旦发生变化,它就会运行一个观察程序并编译我的 less 文件。
编辑:
还有https://github.com/emberfeather/less.js-middleware https://github.com/emberfeather/less.js-middleware但您需要将编译添加到应用程序的流程中。这意味着您将在nodejs进程运行期间编译less文件。这种情况只会发生一次,如果您对某些文件进行更改,您将看不到结果。当然,您可能希望针对每个请求进行编译,但这会降低应用程序的性能。所以,你最终会得到某种观察者和编译器。这正是 Grunt 正在做的事情。如果你不想跑grunt每次你都可以将它添加到你的启动脚本(或Windows下的启动脚本)中。