@角/ CLI @ 1.0.0-rc.2
ng build -prod -e prod
vendor.380a744….bundle.js:218 Error: Runtime compiler is not loaded
at new Error (native)
at Error.d (http://localhost:9000/portal/assets/dist/polyfills.a61f849adcea6ec74b69.bundle.js:36:1731)
at r (http://localhost:9000/portal/assets/dist/vendor.380a74466a8bf08fbdda.bundle.js:1410:3338)
at t.compileModuleAndAllComponentsAsync (http://localhost:9000/portal/assets/dist/vendor.380a74466a8bf08fbdda.bundle.js:1417:702)
at e.ngOnChanges (http://localhost:9000/portal/assets/dist/main.f4b767a4fe115c7bb97e.bundle.js:1:1171229)
at e.ngDoCheck (http://localhost:9000/portal/assets/dist/main.f4b767a4fe115c7bb97e.bundle.js:1:914180)
at t.GGjx.t.detectChangesInternal (http://localhost:9000/portal/assets/dist/main.f4b767a4fe115c7bb97e.bundle.js:1:332790)
at t.R2h3.t.detectChanges (http://localhost:9000/portal/assets/dist/vendor.380a74466a8bf08fbdda.bundle.js:653:5749)
at t.Sqya.t.detectChangesInNestedViews (http://localhost:9000/portal/assets/dist/vendor.380a74466a8bf08fbdda.bundle.js:667:780)
at t.GGjx.t.detectChangesInternal (http://localhost:9000/portal/assets/dist/main.f4b767a4fe115c7bb97e.bundle.js:1:329907)
at t.R2h3.t.detectChanges (http://localhost:9000/portal/assets/dist/vendor.380a74466a8bf08fbdda.bundle.js:653:5749)
at t.R2h3.t.internalDetectChanges (http://localhost:9000/portal/assets/dist/vendor.380a74466a8bf08fbdda.bundle.js:653:5542)
at t.YSmj.t.detectChangesInternal (http://localhost:9000/portal/assets/dist/main.f4b767a4fe115c7bb97e.bundle.js:1:662563)
at t.R2h3.t.detectChanges (http://localhost:9000/portal/assets/dist/vendor.380a74466a8bf08fbdda.bundle.js:653:5749)
at t.Sqya.t.detectChangesInNestedViews (http://localhost:9000/portal/assets/dist/vendor.380a74466a8bf08fbdda.bundle.js:667:780)
的package.json
{
"name": "app",
"version": "1.0.0",
"description": "Origianlly fomr a webpack starter for angular 2",
"scripts": {
"build": "ng build -dev -e dev",
"build:aot": "ng build -prod -e prod --aot true",
"build:prod": "ng build -prod -e prod",
"postbuild": "node build.js",
"postbuild:prod": "node build.js",
"watch": "ng build -dev -w true",
"postinstall": "typings install",
"start": "ng serve",
"lint": "ng lint --format stylish",
"test": "ng test --watch false --single-run false",
"pree2e": "webdriver-manager update --standalone false --gecko false",
"e2e": "ng e2e",
"prepush": "npm test && npm run lint"
},
"author": "Mikeumus",
"private": true,
"dependencies": {
"@angular/common": "2.4.0",
"@angular/compiler": "2.4.0",
"@angular/core": "2.4.0",
"@angular/flex-layout": "2.0.0-rc.1",
"@angular/forms": "2.4.0",
"@angular/http": "2.4.0",
"@angular/material": "2.0.0-beta.2",
"@angular/platform-browser": "2.4.0",
"@angular/platform-browser-dynamic": "2.4.0",
"@angular/router": "3.4.0",
"@types/lodash": "4.14.50",
"classlist.js": "^1.1.20150312",
"core-js": "2.4.1",
"hammerjs": "2.0.8",
"intl": "1.2.5",
"lodash": "4.15.0",
"moment": "2.17.1",
"moment-timezone": "0.5.11",
"ng2-interceptors": "1.2.4",
"reflect-metadata": "0.1.10",
"rxjs": "5.1.0",
"snapsvg": "0.5.1",
"snapsvg-cjs": "0.0.4",
"web-animations-js": "^2.2.2",
"zone.js": "0.7.6"
},
"devDependencies": {
"@angular/cli": "1.0.0-rc.2",
"@angular/compiler-cli": "2.4.0",
"@types/core-js": "0.9.37",
"@types/jasmine": "2.5.38",
"@types/moment-timezone": "0.2.34",
"@types/node": "6.0.60",
"@types/selenium-webdriver": "3.0.0",
"@types/snapsvg": "0.4.27",
"autoprefixer": "6.7.7",
"codelyzer": "2.0.0",
"husky": "0.13.2",
"istanbul-instrumenter-loader": "0.2.0",
"jasmine-core": "2.5.2",
"jasmine-spec-reporter": "3.2.0",
"karma": "1.4.1",
"karma-cli": "1.0.1",
"karma-coverage": "1.0.0",
"karma-jasmine": "1.0.2",
"karma-mocha-reporter": "2.0.3",
"karma-phantomjs-launcher": "^1.0.2",
"karma-remap-istanbul": "0.2.1",
"karma-sourcemap-loader": "0.3.7",
"karma-spec-reporter": "0.0.30",
"protractor": "5.1.0",
"remap-istanbul": "0.6.4",
"ts-node": "2.1.0",
"tslint": "4.5.1",
"typedoc": "0.5.7",
"typescript": "2.0.3"
}
}
.angular-cli.json
{
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
"project": {
"name": "app"
},
"apps": [
{
"root": "src",
"outDir": "../public/dist",
"assets": [],
"index": "index.html",
"main": "main.ts",
"polyfills": "polyfills.ts",
"test": "test.ts",
"tsconfig": "tsconfig.app.json",
"testTsconfig": "tsconfig.spec.json",
"prefix": "",
"styles": [],
"scripts": [],
"environmentSource": "environments/environment.ts",
"environments": {
"dev": "environments/environment.ts",
"prod": "environments/environment.prod.ts"
}
}
],
"e2e": {
"protractor": {
"config": "./protractor.conf.js"
}
},
"lint": [
{
"project": "src/tsconfig.app.json"
},
{
"project": "src/tsconfig.spec.json"
},
{
"project": "e2e/tsconfig.e2e.json"
}
],
"test": {
"karma": {
"config": "./karma.conf.js"
}
},
"defaults": {
"styleExt": "scss",
"prefixInterfaces": false,
"inline": {
"style": false,
"template": false
},
"spec": {
"class": false,
"component": true,
"directive": true,
"module": false,
"pipe": true,
"service": true
},
"viewEncapsulation": "Emulated",
"changeDetection": "Default"
}
}
我花了很多时间来确保我的应用程序与新的cli-rc2应用程序(ng new
)的软件包和约定相匹配但还没有运气。很多应用都很好,我认为它是使用compiler.compileModuleAndAllComponentsAsync<any>( this.moduleType )
的代码的一部分。
答案 0 :(得分:2)
Loading children with a function instead of a module string path可能导致生产版本提高Runtime compiler is not loaded
。
为了解决该错误,请注意以下格式的loadChildren
声明:
{
path: ':id',
component: MainComponent,
children: [
{
path: '',
loadChildren: () => SubModule
}
]
}
并将其更改为:
{
path: ':id',
component: MainComponent,
children: [
{
path: '',
loadChildren: './sub-module/sub-module.module#SubModule'
}
]
}
答案 1 :(得分:2)
我在Angular 7中遇到了这个问题
Angular 7文档在这里-https://v7.angular.io/guide/lazy-loading-ngmodules#lazy-loading-feature-modules
当我使用这种方法(在Angular文档中看到)时,出现如下运行时错误:
loadChildren: './customers/customers.module#CustomersModule'
无法解析相对于app \ app.module.ts的模块
当我使用这种方法时,AOT构建将无法正常工作,并显示“未加载运行时编译器”失败:
loadChildren: () => import('./customers/customers.module').then((mod) => mod.CustomersModule)
我通过为客户目录添加tsconfig.app.json的路径来修复它,如下所示:
"@customers/*": ["app/customers/*"]
并在延迟加载时使用路径,如下所示:
loadChildren: '@customers/customers.module#CustomersModule'
答案 2 :(得分:0)
在使用代码中的compiler
class进行生产构建(ng build -prod
)时,@ angular / cli @ 1.0.0-rc.2会发生这种情况。
要替换compiler
您想要使用&#34;动态组件创建&#34;。见SO:
相关: