我使用咕噜建立我的web项目。 我安装grunt-contrib-less
包UND添加一个任务,我grunt.initConfig({..});
less : {
options: {
paths: ['js/base']
},
files: {
'js/base/*.css' : 'js/base/*.less'
}
}
当我通过运行目标少 grunt less
,运行没有错误,但较少的文件不编译成一个CSS文件。
Running "less:files" (less) task
Done, without errors.
我已经安装了通过节点的lessc包了。 做lessc <source> <dest>
工作正常。
目前,我已经指出与文件选项可以直接到一个目录包含一个文件少的测试。 即使我写了整个文件名到文件选项 ,它发生什么......
后来我要扫描整个JS目录,并编译所有新修改* .LESS文件。
我已经安装了以下版本:
grunt-cli v0.1.6
grunt v0.4.0
node v0.8.7
npm 1.1.49
BR,mybecks
水珠图案js/base/*.css
不匹配任何文件,因此没有目的地。 通常情况下,像这样的任务需要多个输入组合成一个单一的输出。 另外,请记住, less
就是多任务 ,并把files
作为一个孩子less
是不是做你的期望。 (这是将它视为目标,而不是一个源/目标地图)
如果你想要一个1-1变换.LESS到的CSS,你可以使用动态扩展 。 (您也可以手动定义每个源/目标对,但谁愿意这样做呢?)
你的情况:
less: {
options: {
paths: ['js/base']
},
// target name
src: {
// no need for files, the config below should work
expand: true,
cwd: "js/base",
src: "*.less",
ext: ".css"
}
}
我用Anthonies解决方案,但STIL有一个错误
Warning: Object true has no method indexOf
如果我改变了顺序把expand true
为第二它给我的错误
Unable to read "less" file
其中,“少”是第一个项目,在我的列表中的值。
我解决它通过改变文件到一个这样的数组:
less: {
options: {
paths: ["js/base"]
},
files: [{
expand: true,
cwd: "js/base",
src: ["**/*.less"],
dest: "js/base",
ext: ".css"
}]
},
我用"grunt-contrib-less" : "^0.11.0"
这对我的作品,但修改,以反映这样的情景:
less: {
options: {
paths: ["js/base"]
},
files: {
expand: true,
cwd: "js/base",
src: ["**/*.less"],
dest: "js/base",
ext: ".css"
}
},