通过ncc 打包unpkg 服务

默认unpkg 是基于rollup 构建的,构建之后还如果实际运行还是需要安装依赖的,基于ncc 是一个很不错的选择
可以实现all-in-one 这样实际运行以及docker 容器和会小很多,以下是一个简单说明

参考配置

主要是添加package script 以及依赖

  • package script
"scripts": {
    "build": "rollup -c",
    "ncc": "yarn build && ncc build server.js -o dist",
    "clean": "git clean -e '!/.env' -fdX .",
    "lint": "eslint .",
    "serve": "nodemon -w server.js server.js",
    "test": "jest",
    "watch": "rollup -c -w"
},
  • dev package
"@vercel/ncc": "^0.38.1",

构建以及使用

  • 构建
yarn ncc
  • 效果

  • Dockerfile
    这样的docker 镜像就会小特别多
FROM node:18.19.1-alpine3.19
WORKDIR /app
COPY dist/index.js /app/index.js
COPY public/ /app/public/
EXPOSE 8080
CMD [ "node","index.js" ]

说明

基于新方法的docker 镜像我已经push dockerhub 了,整体小了很多dalongrong/unpkg:http-env-v3 可以直接使用

参考资料

https://www.npmjs.com/package/@vercel/ncc
https://github.com/rongfengliang/unpkg

posted on 2024-02-25 10:03  荣锋亮  阅读(23)  评论(0编辑  收藏  举报

导航