经过一些研究,我仍然找不到解决我的问题的方法。更新 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
一个非常不满意的答案,但有效。找到 this 后,我尝试创建一个新项目,然后将我的源代码和资产转移到新项目中,它就成功了。哦,我想最重要的部分是,我在生成期间选择退出 SSR。