我使用Webpack 4将Angular.Js 1.6.6升级到Angular 6:
import 'core-js/es7/reflect'; import 'zone.js'; import 'reflect-metadata'; import 'rxjs'; import { NgModule } from '@angular/core'; import { FormsModule } from '@angular/forms'; import { Routes, RouterModule } from '@angular/router'; import { BrowserModule } from '@angular/platform-browser'; import { UpgradeModule, downgradeComponent, downgradeInjectable, setAngularJSGlobal } from '@angular/upgrade/static'; import { module } from './app.module.ajs'; import './config/routes'; import AppComponent from './components/app/app'; import Application from './directives/application/application'; import { platformBrowserDynamic } from "@angular/platform-browser-dynamic"; console.log('NgModule'); const appRoutes: Routes = [ ]; @NgModule({ declarations: [AppComponent, Application], entryComponents: [AppComponent], imports: [ BrowserModule, FormsModule, RouterModule.forRoot(appRoutes), UpgradeModule ] }) class AppModule { constructor(public upgrade: UpgradeModule) { console.log('AppModule constructor'); } ngDoBootstrap() { console.log('AppModule ngDoBootstrap'); } } console.log('setAngularJSGlobal ...'); setAngularJSGlobal(window['angular']); console.log('setAngularJSGlobal!!!');import main = require('./main'); console.log('在启动bootstrapModule之前模块名称: ', module.name); platformBrowserDynamic().bootstrapModule(AppModule).then(platformRef => { console.log('混合模式:Angular + Angular.Js'); module.directive('appRoot', downgradeComponent({ component: AppComponent })); const upgrade = platformRef.injector.get(UpgradeModule) as UpgradeModule; console.log('启动bootstrapModule: ', module.name); main['launchAngular'](); upgrade.bootstrap(document.body, [module.name], { strictDi: true }); });
我创建了自定义别名,将正确路径添加到tsconfig中,Webpack已经可以编译并生成输出文件。但是当在浏览器中启动应用程序时,控制台会弹出错误信息:ngRoute缺失或ng模块组件不正确
哪些内容没有正确处理,并如何解决此错误?