我一直在关注Angular升级指南,以创建一个混合AngularJS / Angular应用程序,但我正处于第一个障碍。
我收到以下错误:
Uncaught Error: Can't resolve all parameters for AppModule: (?).
这是我的app.module.ts
文件:
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { UpgradeModule } from '@angular/upgrade/static';
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
@NgModule({
imports: [
BrowserModule,
UpgradeModule
]
})
export class AppModule {
constructor(private upgrade: UpgradeModule) {}
ngDoBootstrap() {
this.upgrade.bootstrap(document.body, ['MyApp'], { strictDi: true });
}
}
platformBrowserDynamic().bootstrapModule(AppModule);
值得指出的是我正在使用webpack,并且我尝试对@angular/upgrade/static
包进行别名,如下所示:
resolve: {
extensions: ['.ts', '.js'],
alias: {
"@angular/upgrade/static": "@angular/upgrade/bundles/upgrade-static.umd.js"
}
},
但这似乎没有任何帮助。
有什么想法在这里发生了什么?
答案 0 :(得分:1)
对我来说,文章 How To Upgrade from AngularJS to Angular with ngUpgrade 的具体部分是导入 zone.js
和 reflect-metadata
:
import 'zone.js';
import 'reflect-metadata';
答案 1 :(得分:0)
我设法通过this article的组合来解决这个问题,并调整我的tsconfig
以匹配angular-cli生成的一个。