我正在尝试切换href一个<link />用于主题目的,并且SCSS主题存在于我的monorepo的包文件夹中,这些文件夹是符号链接的node_modules.我需要能够编译和引用这些.
我遇到了以下固定问题:angular/angular-cli#3401并且一直试图实现类似的东西:
"styles": [
"styles.scss",
{
"input": "../node_modules/@org/themes/dark.scss",
"output": "dark",
"lazy": true
}
],
Run Code Online (Sandbox Code Playgroud)
我的理解(也许是不正确的)是这会将dark.scss文件编译成dist/dark.bundle.css我可以通过http:// localhost:4200/dist/dark.bundle.css加载它但是它没有按预期工作.我误解了某些事情或完全错误吗?
如何编译SCSS文件node_modules,然后我可以在应用程序中延迟加载?我可以尝试另一种/更好的方法吗?
补充说明:
4.2.41.3.0node_modules/@org/themes是一个符号链接ng serve --preserve-symlinks选项,以防上述问题.它没有任何区别我已经研究过Angular Material docs网站解决这个问题的方式,看起来他们有一个自定义构建脚本,assets在服务应用程序之前将SCSS文件编译成目录中的CSS文件.我认为上面修复的问题消除了对这一步的需要,但也许没有.这是唯一可行的方法吗?
感谢@Kuncevic.我错过了--extract-css国旗.
工作配置:
"styles": [
"styles.scss",
{
"input": "../node_modules/@org/themes/src/dark.scss",
"output": "themes/dark",
"lazy": true
}
],
Run Code Online (Sandbox Code Playgroud)
使用以下服务脚本,我可以通过http:// localhost:4200/themes/dark.bundle.css访问它:
ng …