angular - Angular 4:ng serve 运行良好,但 ng build --prod 失败
问题描述
当我尝试运行ng serve
它时,它运行时没有任何错误,但是当我尝试使用 ' ng build --prod
' 创建生产版本时,它停止并出现以下错误。我试图调整版本仍然没有成功。然后发生了一些其他问题,例如其他 API 版本兼容性问题。任何帮助将不胜感激。
./src/main.ts 中的错误 找不到模块:错误:无法解析 'D:\000PS\workspace_ui\dashboard\src' 中的 './$$_gendir/app/app.module.ngfactory' 错误中的错误:模块 D:/000PS/workspace_ui/dashboard/node_modules/ngx-pipes/src/app/index.d.ts 的元数据版本不匹配,在 StaticSymbolResolver.getModuleMetadata (D:\000PS\workspace_ui\dashboard 找到版本 4,预期为 3 \node_modules\@angular\compiler\bundles\compiler.umd.js:25755:34) 在 StaticSymbolResolver._createSymbolsOf (D:\000PS\workspace_ui\dashboard\node_modules\@angular\compiler\bundles\compiler.umd.js:25543 :46) 在 StaticSymbolResolver.getSymbolsOf (D:\000PS\workspace_ui\dashboard\node_modules\@angular\compiler\bundles\compiler.umd.js:25524:14) 在 D:\000PS\workspace_ui\dashboard\node_modules\@angular \compiler\bundles\compiler.umd.js:24381:30 at Array.forEach () at extractProgramSymbols (D:\000PS\workspace_ui\dashboard\node_modules\@angular\compiler\bundles\compiler.umd.js:24380:79) at AotCompiler.analyzeModulesAsync (D:\000PS\ workspace_ui\dashboard\node_modules\@angular\compiler\bundles\compiler.umd.js:23936:47) 在 CodeGenerator.codegen (D:\000PS\workspace_ui\dashboard\node_modules\@angular\compiler-cli\src\codegen. js:32:14) 在 Function.NgTools_InternalApi_NG_2.codeGen (D:\000PS\workspace_ui\dashboard\node_modules\@angular\compiler-cli\src\ngtools_api.js:73:30) 在 _donePromise.Promise.resolve.then ( D:\000PS\workspace_ui\dashboard\node_modules\@ngtools\webpack\src\plugin.js:428:58) 在 process._tickCallback (internal/process/next_tick.js:188:7)\000PS\workspace_ui\dashboard\node_modules\@angular\compiler\bundles\compiler.umd.js:24380:79) 在 AotCompiler.analyzeModulesAsync (D:\000PS\workspace_ui\dashboard\node_modules\@angular\compiler\bundles\compiler .umd.js:23936:47) 在 CodeGenerator.codegen (D:\000PS\workspace_ui\dashboard\node_modules\@angular\compiler-cli\src\codegen.js:32:14) 在 Function.NgTools_InternalApi_NG_2.codeGen (D :\000PS\workspace_ui\dashboard\node_modules\@angular\compiler-cli\src\ngtools_api.js:73:30) at _donePromise.Promise.resolve.then (D:\000PS\workspace_ui\dashboard\node_modules\@ngtools\ webpack\src\plugin.js:428:58) 在 process._tickCallback (internal/process/next_tick.js:188:7)\000PS\workspace_ui\dashboard\node_modules\@angular\compiler\bundles\compiler.umd.js:24380:79) 在 AotCompiler.analyzeModulesAsync (D:\000PS\workspace_ui\dashboard\node_modules\@angular\compiler\bundles\compiler .umd.js:23936:47) 在 CodeGenerator.codegen (D:\000PS\workspace_ui\dashboard\node_modules\@angular\compiler-cli\src\codegen.js:32:14) 在 Function.NgTools_InternalApi_NG_2.codeGen (D :\000PS\workspace_ui\dashboard\node_modules\@angular\compiler-cli\src\ngtools_api.js:73:30) at _donePromise.Promise.resolve.then (D:\000PS\workspace_ui\dashboard\node_modules\@ngtools\ webpack\src\plugin.js:428:58) 在 process._tickCallback (internal/process/next_tick.js:188:7)\000PS\workspace_ui\dashboard\node_modules\@angular\compiler\bundles\compiler.umd.js:23936:47) 在 CodeGenerator.codegen (D:\000PS\workspace_ui\dashboard\node_modules\@angular\compiler-cli\src \codegen.js:32:14) 在 Function.NgTools_InternalApi_NG_2.codeGen (D:\000PS\workspace_ui\dashboard\node_modules\@angular\compiler-cli\src\ngtools_api.js:73:30) 在 _donePromise.Promise.resolve .then (D:\000PS\workspace_ui\dashboard\node_modules\@ngtools\webpack\src\plugin.js:428:58) at process._tickCallback (internal/process/next_tick.js:188:7)\000PS\workspace_ui\dashboard\node_modules\@angular\compiler\bundles\compiler.umd.js:23936:47) 在 CodeGenerator.codegen (D:\000PS\workspace_ui\dashboard\node_modules\@angular\compiler-cli\src \codegen.js:32:14) 在 Function.NgTools_InternalApi_NG_2.codeGen (D:\000PS\workspace_ui\dashboard\node_modules\@angular\compiler-cli\src\ngtools_api.js:73:30) 在 _donePromise.Promise.resolve .then (D:\000PS\workspace_ui\dashboard\node_modules\@ngtools\webpack\src\plugin.js:428:58) at process._tickCallback (internal/process/next_tick.js:188:7)\000PS\workspace_ui\dashboard\node_modules\@angular\compiler-cli\src\ngtools_api.js:73:30) 在 _donePromise.Promise.resolve.then (D:\000PS\workspace_ui\dashboard\node_modules\@ngtools\webpack \src\plugin.js:428:58) 在 process._tickCallback (internal/process/next_tick.js:188:7)\000PS\workspace_ui\dashboard\node_modules\@angular\compiler-cli\src\ngtools_api.js:73:30) 在 _donePromise.Promise.resolve.then (D:\000PS\workspace_ui\dashboard\node_modules\@ngtools\webpack \src\plugin.js:428:58) 在 process._tickCallback (internal/process/next_tick.js:188:7)
请查找 package.json 以供参考:
{
"name": "dashboard",
"version": "1.0.1",
"scripts": {
"ng": "ng",
"start": "ng serve",
"build": "ng build",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e"
},
"private": true,
"dependencies": {
"@angular/common": "4.4.4",
"@angular/compiler": "4.4.4",
"@angular/core": "4.4.4",
"@angular/forms": "4.4.4",
"@angular/http": "4.4.4",
"@angular/platform-browser": "4.4.4",
"@angular/platform-browser-dynamic": "4.4.4",
"@angular/router": "4.4.4",
"@ngui/map": "0.18.3",
"@types/googlemaps": "3.26.14",
"angular2-jwt": "^0.2.3",
"bootstrap": "3.3.5",
"bootstrap-notify": "3.1.3",
"bootstrap-select": "1.12.2",
"bootstrap-switch": "3.3.4",
"bootstrap-tagsinput": "0.7.1",
"chartist": "0.9.4",
"chartist-plugin-zoom": "0.4.0",
"chartjs-plugin-zoom": "0.5.0",
"core-js": "2.4.1",
"datatables": "1.10.12",
"datatables.net-bs": "1.10.12",
"datatables.net-responsive": "2.1.1",
"easy-pie-chart": "2.1.7",
"eonasdan-bootstrap-datetimepicker": "4.17.47",
"fullcalendar": "3.4.0",
"jasny-bootstrap": "3.1.3",
"jquery": "1.12.4",
"material-design-icons": "^3.0.1",
"mdbootstrap": "^4.5.0",
"ng2-fab-speed-dial": "^1.0.0-beta.5",
"ngx-pipes": "^1.6.5",
"nouislider": "9.2.0",
"npm": "^5.8.0",
"rxjs": "5.4.2",
"time-ago-pipe": "1.2.1",
"twitter-bootstrap-wizard": "^1.2.0",
"web-animations-js": "2.2.2",
"zone.js": "0.8.4"
},
"devDependencies": {
"@angular/cli": "^1.7.4",
"@angular/compiler-cli": "4.4.4",
"@types/bootstrap": "3.3.32",
"@types/chartist": "0.9.34",
"@types/jasmine": "2.5.38",
"@types/jquery": "1.10.31",
"@types/node": "6.0.73",
"angular2-jwt": "^0.2.3",
"codelyzer": "2.0.0",
"jasmine-core": "2.5.2",
"jasmine-spec-reporter": "3.2.0",
"karma": "1.4.1",
"karma-chrome-launcher": "2.0.0",
"karma-cli": "1.0.1",
"karma-coverage-istanbul-reporter": "0.2.0",
"karma-jasmine": "1.1.0",
"karma-jasmine-html-reporter": "0.2.2",
"protractor": "5.1.0",
"ts-node": "2.0.0",
"tslint": "4.5.0",
"typescript": "2.4.2"
}
}
解决方案
您的角度版本是 4.4,而 ngx-pipes 角度版本是 5 或更高版本。因此,请使用与您的 Angular 项目兼容的版本安装 ngx-pipes。
检查 node_modules/ngx-pipes/package.json 以找到 ngx-pipes 版本。
推荐阅读
- javascript - HTML 日历禁用特定日期
- java - Hazelcast Jet 与命名的 Jdbc 查询或结果集?
- terraform - 如何使用 terraform 在 aws 中为多个实例创建多个目标组?
- python - 通过 pip 安装本地 cython 包不会使其模块可访问
- cdn - 有没有办法比较从 2 个不同服务器提供的同一图像的响应时间?
- javascript - 如何在反应和表达中一次上传文件和json数据
- shell - 什么是:/usr/sbin/grub-probe: 错误:未能获得“覆盖”的规范路径?
- c# - 如何在 C#.net 中使用操作标签在本地启动 html 文件
- c# - 获取一周中的几天,一个月中的一天
- r - 使用 R 中的标签从 df 自动创建变量