如何将 node 项目打包成一个独立的 .js 文件?

最近在开发一个 node 项目,完成之后需要部署的服务器上。为了安全考虑,不想将源码上传到服务器,然后安装依赖部署,所以想找一个打包工具,可以将 node 项目打包成一个独立 .js 文件,有 node 环境就可以执行。

本来想用 webpack 的,但 webpack 太繁琐。后面找到一个非常好用打包速度非常快的工具 esbuild。

esbuild 打包速度是 webpack 的 10 ~100倍。看一个截图,均益在使用过程中,也感受到了 esbuild 的快速。

esbuild 打包速度对比

接下来,说一下如何将 node 项目打包成一个独立 .js 文件。

1、安装

npm install esbuild

或者

yarn add esbuild

运行命令查看安装的版本,检查是否安装成功。

./node_modules/.bin/esbuild --version

2、运行打包命令

执行命令就可以将 node 项目打包成一个文件,然后就可以将这个文件部署到服务器,不泄漏源码分发出去。

./node_modules/.bin/esbuild main.js --bundle --minify --outfile=dist.js --platform=node

解析一下上面的命令

  • main.js 是项目的入口执行文件
  • –bundle 将依赖内联到一个文件中
  • –minify 将代码压缩混淆,这样代码的体积更小很难阅读
  • –outfile=dist.js 打包到的目标文件名
  • –platform=node 默认情况下,esbuild 的打包器为浏览器生成代码。 如果你打包好的代码想要在 node 环境中运行,你应该设置 platform 为 node

好了,上面就是 如何将 node 项目打包成一个独立的 .js 文件 的解决方案。为了方便打包可以将此命令写进 package.json 文件中 scripts。

关于 esbuild 的更多用法,可以访问网站 https://esbuild.github.io/

Leave a Reply

Your email address will not be published. Required fields are marked *