我们基于 Vite 的前端项目在后端使用 Docker 运行。在发布过程中,Podman 运行自动化npm install
和npm run build
命令。
最近,Podman 构建失败。其中一个第三方脚本 (html2pdf.js / jspdf) 转译错误。
原文来自 jspdf.es.js:
case 0:
case false:
case "fill":
当我们在本地构建它时它是这样的:
switch(P){case 0:case!1:case"fill":
但 Podman 将其编译为:
switch(P){case 0:casefalse:case"fill":
... 它崩溃并显示来自 vite:esbuild-transpile 的错误消息。
我们在本地机器上尝试了不同的 Node 版本,并在 npm 和 yarn 之间切换,但无法重现此错误。使用 Podman,我们无法获得任何正确的构建 - 甚至使用以前可以使用的旧代码版本也无法获得正确的构建。
有什么想法可以改变 Podman 的构建选项吗?或者只是使用节点模块附带的预编译 html2pdf.min.js?
问题出在 Rollup 包上,该包是 Vite 内部用于捆绑的。
为了修复此问题,您可以将 Rollup 包更新到特定的工作版本。
对于 NPM:
对于纱线:
这对我有用。
更多详细信息可以参考 Rollup GitHub 仓库中的相关 Issue: 在此处输入链接描述