You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular 14生产构建部署IIS报错Unexpected token求助

问题描述

最近将项目从Angular 13升级到Angular 14,执行ng build --configuration production命令生成部署包后,发布到IIS出现页面无法正常显示的问题,浏览器控制台提示「Unexpected token」错误。但执行不带--production参数的ng build命令生成的包正常可用。

项目的package.json配置如下:

{
  "name": "knesset-website-app",
  "version": "0.0.0",
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  },
  "private": true,
  "dependencies": {
    "@angular/animations": "^14.0.6",
    "@angular/cdk": "^14.1.0",
    "@angular/cli": "^14.0.6",
    "@angular/common": "^14.0.6",
    "@angular/compiler": "^14.0.6",
    "@angular/core": "^14.0.6",
    "@angular/forms": "^14.0.6",
    "@angular/localize": "^14.0.6",
    "@angular/platform-browser": "^14.0.6",
    "@angular/platform-browser-dynamic": "^14.0.6",
    "@angular/router": "^14.0.6",
    "@ngx-translate/core": "^14.0.0",
    "@ngx-translate/http-loader": "^7.0.0",
    "@progress/kendo-angular-buttons": "^8.0.0",
    "@progress/kendo-angular-common": "^3.1.0",
    "@progress/kendo-angular-dateinputs": "^7.0.1",
    "@progress/kendo-angular-dialog": "^7.1.2",
    "@progress/kendo-angular-dropdowns": "^7.0.2",
    "@progress/kendo-angular-excel-export": "^5.0.1",
    "@progress/kendo-angular-grid": "^7.2.2",
    "@progress/kendo-angular-icons": "^2.0.1",
    "@progress/kendo-angular-inputs": "^9.0.3",
    "@progress/kendo-angular-intl": "^4.1.0",
    "@progress/kendo-angular-l10n": "^4.0.0",
    "@progress/kendo-angular-label": "^4.0.0",
    "@progress/kendo-angular-layout": "^7.1.0",
    "@progress/kendo-angular-pager": "^4.0.1",
    "@progress/kendo-angular-pdf-export": "^4.0.0",
    "@progress/kendo-angular-popup": "^5.0.0",
    "@progress/kendo-angular-progressbar": "^3.0.0",
    "@progress/kendo-angular-tooltip": "^4.0.1",
    "@progress/kendo-angular-treeview": "^7.1.0",
    "@progress/kendo-data-query": "^1.6.0",
    "@progress/kendo-drawing": "^1.16.3",
    "@progress/kendo-licensing": "^1.2.2",
    "@progress/kendo-svg-icons": "^0.2.0",
    "@progress/kendo-theme-default": "latest",
    "@types/jquery": "^3.5.5",
    "@videogular/ngx-videogular": "^5.0.1",
    "bootstrap": "^4.6.0",
    "bootstrap-v4-rtl": "^4.6.0-2",
    "core-js": "^2.5.4",
    "dashjs": "^4.3.0",
    "font-awesome": "^4.7.0",
    "hls.js": "^1.1.5",
    "jquery": "^3.6.0",
    "ng-recaptcha": "^10.0.0",
    "ngx-device-detector": "^2.1.1",
    "popper.js": "^1.12.3",
    "primeicons": "^4.1.0",
    "primeng": "^10.0.3",
    "rxjs": "~6.6.6",
    "scriptjs": "^2.5.9",
    "tslib": "^2.4.0",
    "zone.js": "~0.11.4"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "^14.0.6",
    "@angular/compiler-cli": "^14.0.6",
    "@angular/language-service": "^14.0.6",
    "@types/core-js": "^2.5.5",
    "@types/jasmine": "~3.6.0",
    "@types/jasminewd2": "~2.0.3",
    "@types/node": "^12.11.1",
    "codelyzer": "^0.0.28",
    "jasmine-core": "~3.6.0",
    "jasmine-spec-reporter": "~5.0.0",
    "karma": "^6.3.17",
    "karma-chrome-launcher": "~3.1.0",
    "karma-coverage-istanbul-reporter": "~3.0.2",
    "karma-jasmine": "~4.0.0",
    "karma-jasmine-html-reporter": "^1.5.0",
    "protractor": "~7.0.0",
    "ts-node": "~7.0.0",
    "tslint": "~6.1.0",
    "typescript": "~4.6.3"
  }
}
可能的解决方向
  • 第三方依赖版本不兼容:你的primeng版本是10.0.3,这个版本仅支持Angular 11及以下版本,和Angular 14完全不兼容。生产构建时的优化压缩会暴露这种兼容性问题,而开发模式下可能未触发相关代码执行。建议将primeng升级到兼容Angular 14的版本(比如14.x系列),同时同步升级primeicons到对应版本。
  • 检查生产构建的优化配置:打开项目的angular.json,查看production配置下的optimization、buildOptimizer、terserOptions等参数,确认是否开启了过于激进的压缩选项。可以尝试临时关闭optimization重新构建,看是否还报错,逐步排查是哪个优化环节出了问题。
  • 清理依赖缓存:删除项目根目录下的node_modules文件夹和package-lock.json文件,执行npm install重新安装所有依赖,避免旧版本依赖残留导致的冲突。
  • 分析scripts.js内容:对比开发构建和生产构建生成的scripts.js文件,找到生产版中出现Unexpected token的位置,定位是哪个第三方库或自定义代码存在未被正确转译的ES6+语法,针对性处理。
  • IIS MIME类型配置:确保IIS中已正确配置JS文件的MIME类型(application/javascript),虽然开发版正常,但生产压缩后的文件可能因MIME类型错误导致浏览器解析异常。

内容的提问来源于stack exchange,提问作者Tomer Mugdasi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 16:15:38