我正在开展一个多网站项目,其中所有网站都拥有相同的结构:
setUp
在我的gruntfile.js中,我的sass任务是这样编写的:
-sites
-site1
-css
-scss
-site2
-css
-scss
可以这样写吗?
sass: {
options: {
sourceMap: true,
outputStyle: 'compressed'
},
pippo: {
files: {
'sites/site1/css/main.css': 'sites/site1/css/sass/main.scss',
'sites/site2/css/main.css': 'sites/site2/css/sass/main.scss',
}
}
}
我测试了它,当我构建它时它正在添加一个新的**文件夹......有什么建议吗?
答案 0 :(得分:1)
module.exports = function(grunt) {
var fs = require('fs');
console.log("Inside the gruntfile");
//create dynamic list of scss file paths
var objDestSource = {
'public/css/main.css': 'public/css/sass/main.scss'
};
fs.readdirSync('sites').forEach(function(folder){
objDestSource['sites/'+folder+'/css/main.css'] = 'sites/'+folder+'/css/sass/main.scss';
});
console.log(objDestSource);
// end scss function
在grunt sass任务中我刚刚改为:
sass: {
options: {
sourceMap: true,
outputStyle: 'compressed'
},
taskName: {
files: objDestSource
}
}
和监视任务:
watch: {
sass: {
files: [
'public/css/sass/**/*.scss',
'sites/**/css/sass/**/*.scss'
],
tasks: ['sass'],
options: {
spawn: false
}
}
}
这样我就可以添加一个新的子网站,而不必每次都编辑gruntfile!