myb*_*cks 14 less node.js gruntjs
我正在使用Grunt来构建我的Web项目.我安装了grunt-contrib-less
包并为我添加了一个任务grunt.initConfig({..});
less : {
options: {
paths: ['js/base']
},
files: {
'js/base/*.css' : 'js/base/*.less'
}
}
Run Code Online (Sandbox Code Playgroud)
当我运行目标较少的通过时grunt less
,它运行没有错误,但不会将较少的文件编译为css文件.
Running "less:files" (less) task
Done, without errors.
Run Code Online (Sandbox Code Playgroud)
我也通过节点安装了lessc包.做得lessc <source> <dest>
很好.
目前我已将文件选项直接指向一个目录,其中包含少量文件用于测试.即使我将整个文件名写入文件选项,它也没有发生......
后来我想扫描整个js目录并编译所有新修改的*.less文件.
我安装了以下版本:
grunt-cli v0.1.6
grunt v0.4.0
node v0.8.7
npm 1.1.49
Run Code Online (Sandbox Code Playgroud)
BR,mybecks
Dom*_*nes 45
glob模式js/base/*.css
与任何文件都不匹配,因此没有目标.通常,像这样的任务期望多个输入组合成单个输出.另外,请记住,这less
是一项多任务,并且files
作为一个孩子,less
并没有做你期望的事情.(它将它视为目标,而不是src/dest地图)
如果您希望将.less转换为.css,则可以使用动态扩展.(或者您可以手动定义每个src/dest对,但是谁想要这样做?)
在你的情况下:
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"
}
}
Run Code Online (Sandbox Code Playgroud)
我使用了Anthonies解决方案,但stil有错误
Warning: Object true has no method indexOf
Run Code Online (Sandbox Code Playgroud)
如果我把订单改为expand true
第二次就给了我错误
Unable to read "less" file
Run Code Online (Sandbox Code Playgroud)
其中"less"是我列表中第一项的值.
我通过将文件更改为如下数组来解决它:
less: {
options: {
paths: ["js/base"]
},
files: [{
expand: true,
cwd: "js/base",
src: ["**/*.less"],
dest: "js/base",
ext: ".css"
}]
},
Run Code Online (Sandbox Code Playgroud)
我用了 "grunt-contrib-less" : "^0.11.0"
小智 6
这对我有用,但经过修改以反映这种情况:
less: {
options: {
paths: ["js/base"]
},
files: {
expand: true,
cwd: "js/base",
src: ["**/*.less"],
dest: "js/base",
ext: ".css"
}
},
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
20628 次 |
最近记录: |