编程加
22-04-10 23:09 微博认证:WSRC中级安全研究员

<> 关于缩减 Node 镜像的体积

最近在用 Node 写点东西,想缩减最终构建出来的 Docker image 的体积。除了用常规的 multi-stage build [1],让最终镜像基于 node-alpine 之外,还可以考虑用 bundler 打成单文件(没错,跟 Web 前端项目一样)。

因为大多数情况下项目只会用到依赖里的某些代码,bundler 可以把没用到的部分 tree shaking 掉。比如用 tsup[2],把所有依赖都挪到 devDependencies 之后,tsup 就会把所有外部依赖打包到一个文件里了,这个 js 单文件除了 Node 之外没有任何依赖。

[1]: http://t.cn/Ree2tuQ
[2]: http://t.cn/A6MeCa20