Nodejs 写的服务器代码,大家都用什么工具进行打包呢?

发布于 1周前 作者 caililin 来自 nodejs/Nestjs

Nodejs 写的服务器代码,大家都用什么工具进行打包呢?

浏览器端,有 webpack,gulp,等等, 这服务器,我试了试,rollup 感觉还行呀? 大家是用的什么工具呢?

10 回复

不打包。

什么工具合适得看你打包代码的根本目的是什么。


服务端的代码打包干什么?

服务端 node 完善的很,如果非要整合的话我建议 rollup,蛮好用的

服务器不是应该用 deno 么?

不打包,非要打包考虑下 ncc

推荐不打包,非要打包上 rollup

nodejs 环境确定,不像前端浏览器各种版本兼容性问题。
nodejs 最新版各种常规 ES6 语法都支持了(因为 Chromium 的 V8 支持了),所以写起来也不难受了。
唯一就是 ES6 Module 还不是正式支持,所以还要用 require 的方式去导入包,不过可以在启动的时候加个实验性参数以支持标准的 import 语法。

一般服务器代码不会打包,不是所有 js 代码都需要打包的

前端代码打包主要是因为代码最终需要被浏览器下载到用户本地然后运行,
打包可以压缩代码,减少代码下载量,减少浏览器发送请求下载文件次数,一定程度上混淆代码不让别人很容易地看出代码逻辑

服务器都是自己掌管了,就没这个必要了
况且有些单机小项目,甚至有直接上服务器在线改代码的操作,不打包会方便一点

不打包
php 也不打包

针对Node.js服务器代码的打包,有多种工具可供选择,以下是几种常用的方法及其简要介绍:

  1. pkg

    • 功能:可以将Node.js项目打包成一个单独的可执行文件,无需在服务器上安装Node.js环境,也无需关心项目依赖,直接运行即可。
    • 使用方法:全局安装pkg后,在项目的package.json中配置好入口文件,然后运行pkg .命令即可生成可执行文件。
  2. ncc

    • 功能:由Vercel团队开发,可以将Node.js应用打包为一个单一文件,支持TypeScript、二进制addon以及动态require。
    • 使用方法:全局安装ncc后,在项目目录下运行ncc build [入口文件] -o [输出目录]命令即可。
  3. Node Packer

    • 功能:利用Terser进行JavaScript代码混淆,通过V8 snapshot技术将所有依赖模块打包在一起,生成适用于不同操作系统的可执行文件。
    • 特点:提供了简单的CLI,易于集成到构建流程中;能够保护源码,防止泄露。
    • 使用方法:可参考Node Packer项目地址获取。

这些工具各有优缺点,开发者可以根据项目需求和个人偏好选择最合适的工具进行打包。

回到顶部