我有两个角度cli项目(7) 一个项目,其中包含使用生成的库“核心”
$ng g library core
我使用一个名为“ vars.sidebar.scss”的文件来声明一些变量,例如:
$sidebar-bg: #fff999 !default;
然后我在“ sidebar.components.scss”中使用此文件。
我有另一个项目想要使用第一个项目并修改vars.sidebar.scss中声明的变量。
我不知道该怎么做...
编辑1:
这是我关于核心库的angular.json部分: https://pastebin.com/g2jb4wdy
问题所在,如果我提出选择的话:
"stylePreprocessorOptions": {
"includePaths": ["libs/core/src/lib"]
}
cli:“ ng build core”告诉我:
Schema validation failed with the following errors:
Data path "" should NOT have additional
properties(stylePreprocessorOptions).
答案 0 :(得分:2)
让我们假设您的图书馆在您的资料中公开了_library.scss
。
要从您的应用程序导入它,您需要将该路径配置到应用程序angular.json
的{{1}}中:
build.options
然后,您可以"stylePreprocessorOptions": {
"includePaths": ["libs/core/src/lib"]
}
使用您的App样式,并调用将包含库样式的mixin,就像Angular Material使用@import 'library';
函数一样:
https://github.com/angular/components/blob/master/src/material/core/theming/_theming.scss
在使用这些混合之前(甚至可能在导入库样式之前),您可以自定义变量,并将其用于默认变量。
我可能承认我导入了Material主题,然后用我自己的一个覆盖了一些Material变量:) 快乐的ng编码!