在ng服务器上获取错误:ERROR in无法读取未定义的属性"listLazyRoutes"

all*_*tej 14 angular-cli angular

ng serve在命令行中运行angular-cli生成的项目时,我收到以下错误:

 ERROR in Cannot read property 'listLazyRoutes' of undefined
Run Code Online (Sandbox Code Playgroud)

有关如何修复此错误的任何想法?

Aja*_*jay 15

将angular-cli更新为latest:npm install -g angular-cli @ latest

在我的特定情况下,我将package.json更新为:

"dependencies": {
    "@angular/common": "^2.4.0",
    "@angular/compiler": "^2.4.0",
    "@angular/core": "^2.4.0",
    "@angular/forms": "^2.4.0",
    "@angular/http": "^2.4.0",
    "@angular/platform-browser": "^2.4.0",
    "@angular/platform-browser-dynamic": "^2.4.0",
    "@angular/router": "~3.4.0",
    "core-js": "^2.4.1",
    "rxjs": "^5.0.1",
    "ts-helpers": "^1.1.1",
    "zone.js": "^0.7.2"
  },
  "devDependencies": {
    "@angular/compiler-cli": "^2.3.1",
    "@types/jasmine": "2.5.38",
    "@types/node": "^6.0.42",
    "angular-cli": "1.0.0-beta.24",
    "codelyzer": "~2.0.0-beta.1",
    "jasmine-core": "2.5.2",
    "jasmine-spec-reporter": "2.5.0",
    "karma": "1.2.0",
    "karma-chrome-launcher": "^2.0.0",
    "karma-cli": "^1.0.1",
    "karma-jasmine": "^1.0.2",
    "karma-remap-istanbul": "^0.2.1",
    "protractor": "4.0.13",
    "ts-node": "1.2.1",
    "tslint": "^4.0.2",
    "typescript": "~2.0.3",
    "webdriver-manager": "10.2.5"
  }
Run Code Online (Sandbox Code Playgroud)

使用这个package.json内容执行npm install,它会工作.


all*_*tej 5

通过将angular-cli生成的项目升级到,我能够解决问题angular-cli: 1.0.0-beta.24.如果您从以前的版本生成项目(例如,在我的情况下为*-beta.22),请通过运行以下命令来升级本地项目包(dev依赖项):

>rm -rf node_modules dist tmp
>npm install --save-dev angular-cli@latest
>npm install
>ng init
Run Code Online (Sandbox Code Playgroud)

要升级到新的angular-cli,请在命令行中运行以下命令:

>npm uninstall -g angular-cli
>npm cache clean
>npm install -g angular-cli@latest
Run Code Online (Sandbox Code Playgroud)

2017年2月23日更新:语法在获取最新的angular-cli时发生了变化.请改用以下命令:

npm install --save-dev @angular/cli@latest