如何为开发和prod设置不同的任务?我需要不同的css-文件-有和没有源地图。
我试过:
sass: {
dev: {
options: {
sourcemap: 'inline',
},
},
prod: {
options: {
sourcemap: 'none',
},
},
files: {
expand: true,
cwd: 'static/compass/sass/pages/redesign/',
src: ['**/*.scss'],
dest: 'static/compass/css/pages/redesign/',
ext: '.css'
},
},但在本例中,sass:dev任务不编译任何文件。
当我尝试:
sass: {
dev: {
options: {
sourcemap: 'inline',
},
files: {
expand: true,
cwd: 'static/compass/sass/pages/redesign/',
src: ['**/*.scss'],
dest: 'static/compass/css/pages/redesign/',
ext: '.css'
},
},
prod: {
options: {
sourcemap: 'none',
},
files: {
expand: true,
cwd: 'static/compass/sass/pages/redesign/',
src: ['**/*.scss'],
dest: 'static/compass/css/pages/redesign/',
ext: '.css'
},
},
}我收到警告,建议我使用“-武力”。但即使使用“-强制”,我也没有得到编译过的文件。
有什么办法吗?
发布于 2018-10-16 13:09:47
你的第二个例子接近它应该是什么。但是,每个files属性的值应该是一个数组,它包含一个对象,如文档中的这个例子所示。
例如,应该是:
files: [{
//...
}]而不是
files: {
//...
}将saas任务改为以下内容:
sass: {
dev: {
options: {
sourcemap: 'inline'
},
files: [{ // <-- change this
expand: true,
cwd: 'static/compass/sass/pages/redesign/',
src: ['**/*.scss'],
dest: 'static/compass/css/pages/redesign/',
ext: '.css'
}] // <-- change this
},
prod: {
options: {
sourcemap: 'none'
},
files: [{ // <-- change this
expand: true,
cwd: 'static/compass/sass/pages/redesign/',
src: ['**/*.scss'],
dest: 'static/compass/css/pages/redesign/',
ext: '.css'
}] // <-- change this
}
}编辑
注意:您还应该考虑在dev或prod目标(或两者)中更改dest路径,因为当前它们是相同的路径,也就是说,如果同时运行sass:prod和sass:dev,来自一个任务的输出将被另一个任务覆盖。
https://stackoverflow.com/questions/52834639
复制相似问题