EXCEPTION: Runtime compiler is not loaded

匿名 (未验证) 提交于 2019-12-03 02:33:02

问题:

Versions.

@angular/cli@1.0.0-rc.2

Repro steps.

ng build -prod -e prod

The log given by the failure.

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"   } }

I've taken a lot of time to make sure my app is matching packages and conventions of a fresh cli-rc2 app (ng new) with no luck yet. Much of the app renders fine, I think it's one part of the code that uses compiler.compileModuleAndAllComponentsAsync<any>( this.moduleType ).

回答1:

This happens in @angular/cli@1.0.0-rc.2 when doing a production build (ng build -prod) while using the compiler class in your code.

To replace the compiler you'll want to use "dynamic component creation". See this SO:


Related To:



易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!