开发者问题收集

Angular CLI-Typescript 抛出:无法读取未定义的属性“长度”

2017-07-20
23660

我在 angular 4 项目中使用 ng serve 运行,出现错误

Cannot read property 'length' of undefined

但我的项目中没有任何属性 length..

完整错误

    Your global Angular CLI version (1.2.1) is greater than your local
version (1.1.3). The local Angular CLI version is used.

To disable this warning use "ng set --global warnings.versionMismatch=false".
Cannot read property 'length' of undefined
TypeError: Cannot read property 'length' of undefined
    at createSourceFile (E:\פרוייקטים\פרוייקטים קיץ\Angular 4\Youtube Channel Angular Firebase\full project of the instructor github\angular-firestarter-master\node_modules\typescript\lib\typescript.js:15457:109)
    at parseSourceFileWorker (E:\פרוייקטים\פרוייקטים קיץ\Angular 4\Youtube Channel Angular Firebase\full project of the instructor github\angular-firestarter-master\node_modules\typescript\lib\typescript.js:15389:26)
    at Object.parseSourceFile (E:\פרוייקטים\פרוייקטים קיץ\Angular 4\Youtube Channel Angular Firebase\full project of the instructor github\angular-firestarter-master\node_modules\typescript\lib\typescript.js:15338:26)
    at Object.createSourceFile (E:\פרוייקטים\פרוייקטים קיץ\Angular 4\Youtube Channel Angular Firebase\full project of the instructor github\angular-firestarter-master\node_modules\typescript\lib\typescript.js:15192:29)
    at VirtualFileStats.getSourceFile (E:\פרוייקטים\פרוייקטים קיץ\Angular 4\Youtube Channel Angular Firebase\full project of the instructor github\angular-firestarter-master\node_modules\@ngtools\webpack\src\compiler_host.js:66:35)
    at WebpackCompilerHost.getSourceFile (E:\פרוייקטים\פרוייקטים קיץ\Angular 4\Youtube Channel Angular Firebase\full project of the instructor github\angular-firestarter-master\node_modules\@ngtools\webpack\src\compiler_host.js:213:38)
    at findSourceFile (E:\פרוייקטים\פרוייקטים קיץ\Angular 4\Youtube Channel Angular Firebase\full project of the instructor github\angular-firestarter-master\node_modules\typescript\lib\typescript.js:67909:29)
    at processImportedModules (E:\פרוייקטים\פרוייקטים קיץ\Angular 4\Youtube Channel Angular Firebase\full project of the instructor github\angular-firestarter-master\node_modules\typescript\lib\typescript.js:68056:25)
    at findSourceFile (E:\פרוייקטים\פרוייקטים קיץ\Angular 4\Youtube Channel Angular Firebase\full project of the instructor github\angular-firestarter-master\node_modules\typescript\lib\typescript.js:67937:17)
    at processImportedModules (E:\פרוייקטים\פרוייקטים קיץ\Angular 4\Youtube Channel Angular Firebase\full project of the instructor github\angular-firestarter-master\node_modules\typescript\lib\typescript.js:68056:25)
    at findSourceFile (E:\פרוייקטים\פרוייקטים קיץ\Angular 4\Youtube Channel Angular Firebase\full project of the instructor github\angular-firestarter-master\node_modules\typescript\lib\typescript.js:67937:17)
    at processSourceFile (E:\פרוייקטים\פרוייקטים קיץ\Angular 4\Youtube Channel Angular Firebase\full project of the instructor github\angular-firestarter-master\node_modules\typescript\lib\typescript.js:67840:27)
    at processRootFile (E:\פרוייקטים\פרוייקטים קיץ\Angular 4\Youtube Channel Angular Firebase\full project of the instructor github\angular-firestarter-master\node_modules\typescript\lib\typescript.js:67728:13)
    at E:\פרוייקטים\פרוייקטים קיץ\Angular 4\Youtube Channel Angular Firebase\full project of the instructor github\angular-firestarter-master\node_modules\typescript\lib\typescript.js:67018:60
    at Object.forEach (E:\פרוייקטים\פרוייקטים קיץ\Angular 4\Youtube Channel Angular Firebase\full project of the instructor github\angular-firestarter-master\node_modules\typescript\lib\typescript.js:1449:30)
    at Object.createProgram (E:\פרוייקטים\פרוייקטים קיץ\Angular 4\Youtube Channel Angular Firebase\full project of the instructor github\angular-firestarter-master\node_modules\typescript\lib\typescript.js:67018:16)
PS E:\פרוייקטים\פרוייקטים קיץ\Angular 4\Youtube Channel Angular Firebase\full project of the instructor github\angular-firestarter-master>

package.json

{
  "name": "firestarter",
  "version": "0.0.0",
  "license": "MIT",
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  },
  "private": true,
  "dependencies": {
    "@angular/animations": "^4.2.4",
    "@angular/common": "^4.2.4",
    "@angular/compiler": "^4.2.4",
    "@angular/core": "^4.2.4",
    "@angular/forms": "^4.2.4",
    "@angular/http": "^4.2.4",
    "@angular/platform-browser": "^4.2.4",
    "@angular/platform-browser-dynamic": "^4.2.4",
    "@angular/platform-server": "^4.2.4",
    "@angular/router": "^4.2.4",
    "@types/lodash": "^4.14.67",
    "angularfire2": "^4.0.0-rc.1",
    "core-js": "^2.4.1",
    "firebase": "^4.1.3",
    "lodash": "^4.17.4",
    "rxjs": "^5.4.1",
    "zone.js": "^0.8.12"
  },
  "devDependencies": {
    "@angular/cli": "^1.1.3",
    "@angular/compiler-cli": "^4.2.4",
    "@types/jasmine": "2.5.53",
    "@types/node": "~8.0.4",
    "codelyzer": "~3.1.1",
    "jasmine-core": "~2.6.4",
    "jasmine-spec-reporter": "~4.1.1",
    "karma": "~1.7.0",
    "karma-chrome-launcher": "~2.2.0",
    "karma-cli": "~1.0.1",
    "karma-coverage-istanbul-reporter": "^1.3.0",
    "karma-jasmine": "~1.1.0",
    "karma-jasmine-html-reporter": "^0.2.2",
    "protractor": "~5.1.2",
    "ts-node": "~3.1.0",
    "tslint": "~5.4.3",
    "typescript": "=2.3.4"
  }
}
3个回答

您可能缺少一个或多个 typescript 尝试处理的文件。要找出您缺少哪个文件,只需在 node_modules/typescript/lib/typescript.js 文件的 createSourceFile 函数开头添加

console.log(fileName);

Yatharth Varshney
2017-10-12

我的错误是由于创建小组件时出现 c&p 错误而导致的。我忘记更改组件模板和样式的路径。

Zdenek Hatak
2019-01-22

很可能您已经更改了模块,因此需要重新启动 CLI。

从模块中删除组件后,我在运行 ng serve 时遇到了同样的错误。通过重新启动该进程并重新运行 ng serve ,错误消失了。

user917170
2017-10-24