通过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