我已将一个Angular项目从7版本更新到8版本。一切运行顺畅,框架可能已经完成了它的工作,我们也很好(项目甚至已经部署到生产环境中)。当我们更新Angular CLI时,我们总是生成一个新项目以查看实际的差异并从中学习,例如新依赖项、配置等。
使用Angular CLI 8.0.4生成新的Angular项目时,新应用程序没有core-js
作为依赖项:
"dependencies": {
"@angular/animations": "~8.0.1",
"@angular/common": "~8.0.1",
"@angular/compiler": "~8.0.1",
"@angular/core": "~8.0.1",
"@angular/forms": "~8.0.1",
"@angular/platform-browser": "~8.0.1",
"@angular/platform-browser-dynamic": "~8.0.1",
"@angular/router": "~8.0.1",
"rxjs": "~6.4.0",
"tslib": "^1.9.0",
"zone.js": "~0.9.1"
}
分析构建项目时,core-js
的捆绑包不存在:![Bundle without core-js](https://istack.dev59.com/sWN7U.webp)
core-js
是存在的,并且在最终捆绑包中出现。"dependencies": {
"@angular/animations": "~8.0.3",
"@angular/cdk": "~8.0.1",
"@angular/common": "~8.0.3",
"@angular/compiler": "~8.0.3",
"@angular/core": "~8.0.3",
"@angular/forms": "~8.0.3",
"@angular/platform-browser": "~8.0.3",
"@angular/platform-browser-dynamic": "~8.0.3",
"@angular/router": "~8.0.3",
"@auth0/angular-jwt": "2.1.1",
"@hackages/ngxerrors": "~8.0.0",
"@ng-bootstrap/ng-bootstrap": "5.0.0-rc.1",
"@ngx-loading-bar/core": "~4.2.0",
"@ngx-loading-bar/http-client": "~4.2.0",
"@nicky-lenaers/ngx-scroll-to": "~2.0.0",
"@swimlane/ngx-charts": "~12.0.1",
"bootstrap": "~4.3.1",
"core-js": "~2.6.9",
"d3-scale": "~3.0.0",
"d3-shape": "~1.3.5",
"date-fns": "2.0.0-beta.2",
"ngx-perfect-scrollbar": "~8.0.0",
"ngx-toastr": "~10.0.4",
"rxjs": "~6.5.2",
"tslib": "~1.10.0",
"xlsx": "~0.14.3",
"zone.js": "~0.9.1"
}
为什么会出现这种情况?是否可以安全地删除core-js
依赖项?更新原理图是否缺失了这个?当在最新项目上安装npm
依赖时,我会收到来自core-js
的后安装消息,但它在包描述中并不存在。
core-js
和core.js
是同一个吗? - Naveed Ahmed