【发布时间】:2019-08-19 07:15:15
【问题描述】:
更新到 Angular 7.3.6 后,我在 ng serve 上收到以下错误:
错误 ./node_modules/@angular-devkit/build-angular/src/angular-cli-files/models/jit-polyfills.js 未找到模块:错误:无法解析“core-js/es7/reflect” '\node_modules@angular-devkit\build-angular\src\angular-cli-files\models'
这是我的 package.json 依赖项:
{
"name": "frontend",
"version": "0.0.0",
"license": "MIT",
"scripts": {
"ng": "ng",
"start": "ng serve",
"build": "ng build --prod",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e"
},
"private": true,
"dependencies": {
"@angular/animations": "^7.2.11",
"@angular/cdk": "^7.3.6",
"@angular/common": "^7.2.11",
"@angular/compiler": "^7.2.11",
"@angular/core": "^7.2.11",
"@angular/flex-layout": "^7.0.0-beta.24",
"@angular/forms": "^7.2.11",
"@angular/http": "^7.2.11",
"@angular/material": "^7.3.6",
"@angular/platform-browser": "^7.2.11",
"@angular/platform-browser-dynamic": "^7.2.11",
"@angular/router": "^7.2.11",
"adm-zip": "^0.4.13",
"core-js": "^2.6.5",
"hammerjs": "^2.0.8",
"rxjs": "^6.4.0",
"rxjs-compat": "^6.0.0-rc.0",
"tslib": "^1.9.3",
"zone.js": "^0.9.0"
},
"devDependencies": {
"@angular-devkit/build-angular": "^0.13.7",
"@angular/cli": "^7.3.7",
"@angular/compiler-cli": "^7.2.11",
"@angular/language-service": "^7.2.11",
"@types/jasmine": "~3.3.12",
"@types/jasminewd2": "~2.0.6",
"@types/node": "~11.12.0",
"codelyzer": "^5.0.0",
"jasmine-core": "~3.3.0",
"jasmine-spec-reporter": "~4.2.1",
"karma": "^4.0.1",
"karma-chrome-launcher": "~2.2.0",
"karma-coverage-istanbul-reporter": "^2.0.5",
"karma-jasmine": "~2.0.1",
"karma-jasmine-html-reporter": "^1.4.0",
"protractor": "^6.0.0",
"ts-node": "~8.0.3",
"tslint": "~5.14.0",
"typescript": "3.1.6"
}
}
【问题讨论】:
-
在运行
ng serve之前,您是否清理了您的node_modules、节点缓存并尝试了npm install? -
是的,我做到了,但同样的错误不断出现,我不知道还能做什么。您还有其他建议吗?
-
你应该安装
core-js@2.5.x -
是的,它成功了!谢谢
-
截至 2019 年 7 月 3 日,使用 Angular-CLI 8.0.6 和 Angular 8.1.0,上述错误将不再发生在 NEWLY GENERATED Angular 应用程序上,因为有问题/src/polyfills.ts 中不再生成导入。对于较旧的 Angular 应用程序,我建议通过以下方式生成一个临时 Angular 应用程序: ``` ng new aaTemplate --skip-tests --skip-install ``` 将新生成的 aaTemplate\src\polyfills.ts 与旧应用程序的 polyfill 进行比较。 ts,你会明白我在说什么。
标签: angular serve core-js npm-version