Fra*_*sco 11 deeplink angular angular-cli-v9
我将 Angular App 从 v8 升级到 v9。该项目使用 Angular 8 和 moment.js 导入自定义 UI 库。
当我构建它时:
WARNING in Entry point '@myLib/catalogue' contains deep imports into
'/Users/xyz/Projects/forms-frontend/node_modules/moment/locale/de'.
This is probably not a problem, but may cause the compilation of entry points to be out of order.
Run Code Online (Sandbox Code Playgroud)
在@myLib/catalogue.js
库文件中(在 node_modules 文件夹中),moment.js DE 语言环境被导入如下:
import 'moment/locale/de';
Run Code Online (Sandbox Code Playgroud)
ERROR in Failed to compile entry-point @myLib/catalogue (es2015 as esm2015) due to compilation errors:
node_modules/@myLib/catalogue/fesm2015/catalogue.js:213:26 - error NG1010: Value at position 2 in the NgModule.imports of FormInputModule is not a reference: [object Object]
213 imports: [
~
214 CommonModule,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
...
219 TranslateModule
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
220 ],
~~~~~~~~~~~~~~~~~
Run Code Online (Sandbox Code Playgroud)
警告的文本似乎准确地解释了编译错误,其中位置(在本例中为 2)超出了导入数组的范围。
我看过有关深层链接的不同文章/ github 问题,但没有可行的解决方案。
Muh*_*mar 107
您可能使用过 npm i,并且编辑器可能无法正确生成构建。尝试重新启动您的编辑器。重新启动对我有用。我正在使用 VSCode
就我而言,问题与导入的库有关,该库与 Angular v9 不兼容(除其他外,它没有使用指向 Angular Material 和 moment.js 的深层链接)。
我很幸运,因为图书馆是实习生图书馆,我可以修复这些问题并重新发布。之后,它在我的项目方面没有出现任何问题或更改。
您需要更改模块的自定义构建,因此您需要对以下模块进行模拟更改,在我的情况下,我需要更改:
export class ThemeModule {
static forRoot(): ModuleWithProviders {
return <ModuleWithProviders>{
ngModule: ThemeModule,
providers: [
...NbThemeModule.forRoot(
{
name: 'default',
},
[DEFAULT_THEME, COSMIC_THEME, CORPORATE_THEME, DARK_THEME],
).providers,
],
};
}
}
Run Code Online (Sandbox Code Playgroud)
到:
export class ThemeModule {
static forRoot(): ModuleWithProviders<ThemeModule> {
return {
ngModule: ThemeModule,
providers: [
...NbThemeModule.forRoot(
{
name: 'default',
},
[DEFAULT_THEME, COSMIC_THEME, CORPORATE_THEME, DARK_THEME],
).providers,
],
};
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
26126 次 |
最近记录: |