【发布时间】:2019-07-10 11:29:55
【问题描述】:
Angular CLI 在构建项目时提供了replace files 的可能性。 我想使用此功能将具有默认样式的 SCSS 文件替换为包含客户特定 CSS 的 SCSS 文件。
但 Angular CLI 似乎不能替换 SCSS 文件。我怎样才能做到这一点?
我尝试过的:
environment.default.ts
export const environment = {
name: 'default'
};
environment.special.ts
export const environment = {
name: 'special'
};
default/_scss-config.scss
@debug ('default'); // gets called but should never be called
特殊/_scss-config.scss
@debug ('special'); // never gets called
angular.json(仅相关部分)
"architect": {
"build": {
"builder": "@angular-devkit/build-angular:browser",
"options": {
"fileReplacements": [
{
"replace": "src/environments/environment.default.ts",
"with": "src/environments/environment.special.ts"
},
{
"replace": "src/scss/default/_scss-config.scss",
"with": "src/scss/special/_scss-config.scss"
}
],
"stylePreprocessorOptions": {
"includePaths": [
"src/scss/default"
]
}
}
}
}
main.ts
import { environment } from './environments/environment.default';
console.log(environment.name); // 'special' --> replacement works!
结果:.ts 文件的文件替换有效,但不适用于 .scss 文件,因为永远不会调用特殊的调试语句,但默认情况下会调用,即使文件也应该被替换。
【问题讨论】:
-
向我们展示您尝试过的命令
-
@jo_va 我想我已经找到了答案,但我添加了一个最小的例子。如果您知道如何完成这项工作,我很乐意接受您的回答。
标签: angular sass angular-cli