通过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   荣锋亮  阅读(50)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2022-02-25 dremio yarn 资源调度
2020-02-25 cube.js 集成s3 的一种方法
2020-02-25 postgres s3 fdw 试用
2020-02-25 cube.js 集成 elasticsearch 的一种变通方法
2020-02-25 使用postgres_fdw 串接elasticsearch fdw
2019-02-25 architecture and business process modelling
2019-02-25 10 BPMN PDF books, articles and brochures

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示