ng build --configuration production 导致对“require”的调用不会被捆绑,因为参数不是字符串文字

问题描述 投票:0回答:1

经过一些研究,我仍然找不到解决我的问题的方法。更新 npm、Angular、Node 后(因为我看到了https://github.com/angular/angular-cli/issues/27674)并增加了最大错误预算(因为我看到了https://stackoverflow.com/a/) 68340281/10464730),如果我没有记错的话,我也已经进行了项目更新以包含 ssr,但问题仍然存在。这是我执行以下操作时的输出

ng build --配置生产--verbose

建筑...

polyfills-FFHMD2TL.js 33.7kb

⚡ 31 毫秒内完成

polyfills.server.mjs 262.3kb

⠙建设...

主-K43KHCE6.js 217.9kb

⠸ 构建... ● [DEBUG] 对“require”的调用将不会被捆绑 因为参数不是字符串文字 [不支持的要求呼叫]

node_modules/express/lib/view.js:72:13:
  72 │     var fn = require(mod).__express;
     ╵              ~~~~~~~ ⠼ Building...

server.mjs 1.1mb ⚠️ 块-DPD2CJOV.mjs
525.3kb 块-SNU752KB.mjs 12.4kb 块-VCVCHJZV.mjs 11.8kb 块-5XUXGTUW.mjs 2.5kb 渲染-utils.server.mjs 1.4kb main.server.mjs 149b

浏览器捆绑初始块文件 |姓名 | 生的 尺寸|预计传输大小 main-K43KHCE6.js |主要
| 223.11 kB | 59.65 kB 填充-FFHMD2TL.js | 填充剂 | 34.52 kB | 11.28 KB 样式-WCBAZ6MA.css |款式 | 1.16 kB |
337 字节

                    | Initial total       | 258.78 kB |                71.26 kB

服务器捆绑包初始块文件 |姓名 | 生的 大小服务器.mjs |服务器| 1.11 MB | 块-DPD2CJOV.mjs | - | 537.95 kB | polyfills.server.mjs | polyfills.server | 268.60 kB | 块-SNU752KB.mjs | - | 12.68 KB | 块-5XUXGTUW.mjs | - | 2.55 KB | 渲染 utils.server.mjs |渲染 utils.server | 1.46 KB | 主服务器.mjs |主服务器 | 149 字节 |

惰性块文件 |姓名 | 原始尺寸 块-VCVCHJZV.mjs | xhr2 | 12.07 kB |

预渲染 1 条静态路由。应用程序包生成完成。 [5.198秒]

顺便说一句,

ng serve
在我的本地运行得很好

这是我的package.json:

{
  "name": "my-project-name",
  "version": "0.0.0",
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "watch": "ng build --watch --configuration development",
    "test": "ng test",
    "serve:ssr:my-project-name": "node dist/my-project-name/server/server.mjs"
  },
  "private": true,
  "dependencies": {
    "@angular/animations": "^18.2.11",
    "@angular/common": "^18.2.11",
    "@angular/compiler": "^18.2.11",
    "@angular/core": "^18.2.11",
    "@angular/forms": "^18.2.11",
    "@angular/platform-browser": "^18.2.11",
    "@angular/platform-browser-dynamic": "^18.2.11",
    "@angular/platform-server": "^18.2.11",
    "@angular/router": "^18.2.11",
    "@angular/ssr": "^18.2.11",
    "express": "^4.18.2",
    "my-project-name": "file:",
    "rxjs": "~7.8.0",
    "tslib": "^2.3.0",
    "zone.js": "~0.14.10"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "^18.2.11",
    "@angular/cli": "^18.2.11",
    "@angular/compiler-cli": "^18.2.11",
    "@types/express": "^4.17.17",
    "@types/jasmine": "~5.1.0",
    "@types/node": "^18.18.0",
    "jasmine-core": "~5.1.0",
    "karma": "~6.4.0",
    "karma-chrome-launcher": "~3.2.0",
    "karma-coverage": "~2.2.0",
    "karma-jasmine": "~5.1.0",
    "karma-jasmine-html-reporter": "~2.1.0",
    "typescript": "~5.4.2"
  }
}

这是我的环境详细信息:

Angular CLI:18.2.11 节点:20.12.2 包管理器:npm 10.9.0 操作系统: win32 x64

Angular:18.2.11 ...动画、cli、常见、编译器、编译器-cli、 核心,形式...平台浏览器,平台浏览器动态, 平台服务器...路由器,ssr

node.js angular
1个回答
0
投票

一个非常不满意的答案,但有效。找到 this 后,我尝试创建一个新项目,然后将我的源代码和资产转移到新项目中,它就成功了。哦,我想最重要的部分是,我在生成期间选择退出 SSR。

© www.soinside.com 2019 - 2024. All rights reserved.