Javascript 我应该什么时候调用compileComponents,如果不这样做,我怎么能逃脱呢?

Javascript 我应该什么时候调用compileComponents,如果不这样做,我怎么能逃脱呢?,javascript,angular,Javascript,Angular,文件中仅说明了以下内容: 使用templateUrl为测试的NgModule编译组件。有必要调用此函数,因为获取URL是异步的 然而,这并不能解释在什么情况下调用这个函数是“必要的”,也不能解释不这样做的后果。我目前正在开发的应用程序对带有templateUrls的组件进行了单元测试,这些测试包括使用.css查看DOM,但它们似乎工作正常,即使我们从未在代码库中的任何地方调用compileComponents。与此同时,互联网上还有其他帖子,比如,建议不需要调用compileComponents

文件中仅说明了以下内容:

使用
templateUrl
为测试的NgModule编译组件。有必要调用此函数,因为获取URL是异步的

然而,这并不能解释在什么情况下调用这个函数是“必要的”,也不能解释不这样做的后果。我目前正在开发的应用程序对带有
templateUrl
s的组件进行了单元测试,这些测试包括使用.css查看DOM,但它们似乎工作正常,即使我们从未在代码库中的任何地方调用
compileComponents
。与此同时,互联网上还有其他帖子,比如,建议不需要调用
compileComponents

在什么情况下我应该调用此方法,为什么

在什么情况下我应该调用此方法,为什么

如果您使用的是webpack(如果配置正确),构建将把
templateUrl
s编译成内联
template
s和
styleURL
styles
。因此,无需编译组件,因为这就像您正在使用
模板
样式
,即使您没有这样做

例如,如果您使用的是SystemJS(或者您没有其他编译/转换步骤),则不会发生这种情况。Angular需要发出XHR请求来检索外部模板和外部样式,然后进行编译。在这里,您需要编译组件

这是在

网页包开发人员不需要调用
compileComponents
,因为它将模板和css作为运行测试之前的自动构建过程的一部分进行内联


如何正确配置webpack,以便不需要使用compileComponents?使用angular CLI执行的angular构建是否在内部使用webpack?如果是,默认情况下是否不内联模板?我找不到任何通过底层Web包执行此操作的CLI配置选项。