使用AOT时,Angular SSR'require'不起作用

时间:2019-12-09 21:30:57

标签: angular build angular-universal server-side-rendering aot

我有一个应用程序,并且具有通用角度。我有一个组件,需要根据env变量动态加载样式表。这是怎么做的:

...
@Component({
  selector: 'app-my-component',
  templateUrl: './my-component.component.html',
  styles: [require('./my-component.component.scss'), require('./' + environment.dynamic_name + '.scss')],
})
export class MyComponent {
...

在常规开发版本上,一切都可以正常工作,但是在将其用于生产时,某种程度上就不会应用样式。

经过初步调查,我相信这是因为产品构建使用AOT而非JIT。

那么我的问题是:

  1. 为什么在使用AOT时不能使用require()?我没有运行构建 任何环境变量,它看起来像 require()函数 导致问题,而不是使用环境变量本身。
  2. 我还能如何实现?我一直在考虑运行一些 预构建脚本,它将只替换 组件装饰器中的样式表文件路径,但不确定是否最好 解决方案。

谢谢!

0 个答案:

没有答案