我为成为一个完整的咕噜新手而道歉。我安装了node.js,我安装了grunt,并且能够运行" grunt less"在目标较少的gruntfile.js上。它"运行",但它没有做任何事情。
我的.less文件位于源存储库中:C:\ Workspace \ dev,位于以下目录中: C:\工作区\ dev的\腹板\ RP \内容\ P1 \少\ p1.less C:\工作区\ dev的\腹板\ RP \内容\ P2 \少\ p2.less
我的gruntfile.js文件位于C:\ Tools \ Grunt(至少在我学习的时候),所以我需要运行" grunt less"命令来自C:\ Tools \ Grunt。
一些问题: 1.我怎样才能在"任何地方"而不是gruntfile.js住的地方?我试图将编译较少的文件作为构建的一部分进行集成。
提前致谢。
module.exports = function(grunt){
require("matchdep").filterDev("grunt-*").forEach(grunt.loadNpmTasks);
grunt.initConfig({
less: {
options: {
paths: ["/c/Workspace/dev/Webs/RP/Content"]
},
files: {
"rp1/less/rp1.css": "rp1/less/rp1.less",
"rp1/less/ie9.css": "rp1/less/ie9.less",
"rp2/less/rp2.css": "rp2/less/rp2.less",
"rp3/less/rp3.css": "rp3/less/rp3.less",
"rp4/less/rp4.css": "rp4/less/rp4.less",
"rp4/less/ie9.css": "rp4/less/ie9.less",
"rp5/less/rp5.css": "rp5/less/rp5.less",
"rp5/less/ie9.css": "rp5/less/ie9.less"
}
}
});
grunt.loadNpmTasks('grunt-contrib-less');
grunt.registerTask('default', ['less']);
};
答案 0 :(得分:1)
您应该阅读how to use the files object in Grunt。基本上,您需要通配符模式,而不必单独指定每个文件。我觉得这样的事情可能有用:
files: [
{
expand: true,
src: ['**/*.less'],
},
]
虽然没有测试过。您可能还需要一个'dest'属性(无论是空的还是只是'./'),如果它不够智能,无法自行解决。
如果你刚刚开始你的项目,还要考虑使用gulp而不是grunt,我发现它将'src'和'dest'配置分开,而不是将它们组合成'files'对象更自然。另外我和less sass一起工作,并且发现后者非常优越(主要是因为mixin库可用,但它本身也是一种更强大的语言),并且它很容易移动从一个到另一个。