我正在尝试将基于ngx admin的项目从angular 8升级到9。 我遵循angular.io指南,也遵循指南建议的步骤:
"If you are a library author and you had a method returning ModuleWithProviders (typically via a method named forRoot()), you will need to specify the generic type. Learn more angular.io"
然后我将所有星云组件升级到版本5.0.0。然后,我将ng2-smart-table升级到1.6版本,并删除ng2-completer并安装@ akveo / ng2-completer。 (请参阅https://github.com/akveo/ng2-smart-table/pull/1140)
现在,通过运行ng serve我出现了以下错误:
ERROR in src/app/pages/pages.module.ts:22:12 - error NG1010: Value at position 4 in the NgModule.imports of PagesModule is not a reference: [object Object]
22 imports: [
~
23 PagesRoutingModule,
~~~~~~~~~~~~~~~~~~~~~~~
...
27 AuthModule.forRoot(),
~~~~~~~~~~~~~~~~~~~~~~~~~
28 ],
~~~
src/app/app.module.ts:39:12 - error NG1010: Value at position 4 in the NgModule.imports of AppModule is not a reference: [object Object]
39 imports: [
~
40 BrowserModule,
~~~~~~~~~~~~~~~~~~
...
57 CoreModule.forRoot(),
~~~~~~~~~~~~~~~~~~~~~~~~~
58 ],
~~~
src/app/app.component.ts:13:14 - error NG8001: 'router-outlet' is not a known element:
1. If 'router-outlet' is an Angular component, then verify that it is part of this module.
2. If 'router-outlet' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message.
13 template: '<router-outlet></router-outlet>',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/app/pages/pages.component.ts:18:5 - error NG8001: 'ngx-one-column-layout' is not a known element:
1. If 'ngx-one-column-layout' is an Angular component, then verify that it is part of this module.
2. If 'ngx-one-column-layout' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message.
18 <ngx-one-column-layout>
~~~~~~~~~~~~~~~~~~~~~~~
src/app/pages/pages.component.tsm:19:7 - error NG8001: 'nb-menu' is not a known element:
1. If 'nb-menu' is an Angular component, then verify that it is part of this module.
2. If 'nb-menu' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message.
19 <nb-menu [items]="menu"></nb-menu>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/app/pages/pages.component.ts:19:16 - error NG8002: Can't bind to 'items' since it isn't a known property of 'nb-menu'.
1. If 'nb-menu' is an Angular component and it has 'items' input, then verify that it is part of this module.
2. If 'nb-menu' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message.
19 <nb-menu [items]="menu"></nb-menu>
~~~~~~~~~~~~~~
src/app/pages/pages.component.ts:20:7 - error NG8001: 'router-outlet' is not a known element:
2. If 'router-outlet' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message.
20 <router-outlet></router-outlet>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
问题出在哪里?
非常感谢您
安德里亚
答案 0 :(得分:-1)
NGX-Admin框架当前与angular 9不兼容。
在官方存储库的package.json
中,您可以看到仅引用了角度8:https://github.com/akveo/ngx-admin/blob/master/package.json#L35
但是已经有一个拉动请求,要求升级到角度9和星云5: https://github.com/akveo/ngx-admin/pull/5628
您可以等待合并请求请求,也可以尝试自己移植整个框架。
有关如何从角度8升级到9的信息,请参考以下URL: https://update.angular.io/