使用从AngularJS 1.5升级到Angular 5

时间:2018-03-13 20:30:24

标签: javascript angularjs angular

我一直在关注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"
    }
},

但这似乎没有任何帮助。

有什么想法在这里发生了什么?

2 个答案:

答案 0 :(得分:1)

对我来说,文章 How To Upgrade from AngularJS to Angular with ngUpgrade 的具体部分是导入 zone.jsreflect-metadata

import 'zone.js';
import 'reflect-metadata';

答案 1 :(得分:0)

我设法通过this article的组合来解决这个问题,并调整我的tsconfig以匹配angular-cli生成的一个。