首页 > 编程语言 >通过@vercel/ncc 优化node npm 项目的大小

通过@vercel/ncc 优化node npm 项目的大小

时间:2024-03-02 09:02:15浏览次数:33  
标签:node npm github ncc com vercel

以前我写过关于使用@vercel/ncc 进行node 应用快速部署的,同时对于node 应用的大小会减少不少

app 参考玩法


简单说明:
简单玩法可以直接基于ncc 构建就行了,我们可以all-in-one 然后基于ncc build, 会自动处理我们的依赖包,然后我们的项目复制构建之后目录的文件通过node index.js 运行就可以了,不需要外部依赖了,比较适合无网以及快速运行的场景

共享库参考玩法

 

 

简单说明:
我们希望对于三方的,或者对于自己开发的包,也希望裁剪大小(基于ncc 模式),我们可以构建为一个独立的裁剪包,然后pack 为一个tgz 文件
上传到s3中,之后对于新依赖的项目可以直接使用tgz 文件,或者将上边的裁剪包发布到npm私服,之后新应用使用

说明

github 我提供了一个简单的项目可以参考使用rongfengliang/vercel-ncc-npm-minify-learning 属于一个all-in-one 的,使用了npm postinstall script
以及options 依赖,基于ncc 工具,可以解决不少node 项目运行的问题,同时,还可以使用同一个包的多版本(因为ncc 里边的包是隔离的)

参考资料

https://github.com/rongfengliang/vercel-ncc-npm-minify-learning
https://www.npmjs.com/package/mock-private-registry
https://github.com/verdaccio/verdaccio
https://github.com/vercel/ncc

标签:node,npm,github,ncc,com,vercel
From: https://www.cnblogs.com/rongfengliang/p/18047792

相关文章

  • cnpm i报错 cpm:无法加载文件c:wsers vdministratorpata Roaming mpmcnpm.ps1,因为在
    cpm:无法加载文件c:wsersvdministratorpataRoamingmpmcnpm.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅htps:/g.microsoft.con/fvlink/?LinkID=135170中的aboutExecutionPolicies。所在位置行:1字符:1+cnpmi.+CategoryInfoSecurityError:(:)[],PsSecuri......
  • NPM install报错certificate has expired
    Installfail!Error:certificatehasexpiredError:certificatehasexpiredatTLSSocket.onConnectSecure(_tls_wrap.js:1515:34)atTLSSocket.emit(events.js:400:28)atTLSSocket._finishInit(_tls_wrap.js:937:8)atTLSWrap.ssl.onhandshakedone(_......
  • centos7安装node18.16.1
    centos7安装node18.16.1参考文档https://www.cnblogs.com/dingshaohua/p/17103654.html详细文档[root@172~]#npm-vnode:/lib64/libm.so.6:version`GLIBC_2.27'notfound(requiredbynode)node:/lib64/libc.so.6:version`GLIBC_2.25'notfound(requ......
  • 供应链投毒预警 | 恶意NPM包利用Windows反向shell后门攻击开发者
    概述​本周(2024年02月19号),悬镜供应链安全情报中心在NPM官方仓库(https://npmjs.com)中发现多起NPM组件包投毒事件。攻击者利用包名错误拼写方式(typo-squatting)在NPM仓库中连续发布9个不同版本的恶意包,试图通过仿冒合法组件(ts-patch-mongoose)来攻击潜在的NodeJS开发者。开发者......
  • zookeeper的znode节点过多无法通过zkCli.sh移除节点
    背景描述:zookeeper的一个目录下的znode节点过多,导致在执行ls和rmr命令的时候,直接终止会话退出,无法递归删除下面的子节点,具体情况如下(生产环境的zookeeper是clickhouse的元数据管理集群,有一个故障是clickhouse副本同步堆积问题),接下来的操作需要知道这个子节点中的znode有序节点是......
  • nvs-node多版本控制
    nvs-node多版本控制一、背景假如公司有两个前端项目,一个需要node14.21.3版本,一个需要node20.1.3版本,且两个版本不能同时使用,那么我们在开发的时候就需要来回下载卸载切换,这时我们就需要一个版本切换工具nvs二、下载nvs你可以使用Winget来安装它(在Windows11中默认可用)。......
  • 在K8S中,nodePort的externalTrafficPolicy字段有什么作用?
    在Kubernetes(K8s)中,externalTrafficPolicy字段是Service对象的一个属性,它主要应用于NodePort和LoadBalancer类型的服务,用于控制外部流量进入集群后如何路由到后端的Pods。externalTrafficPolicy可以设置为两种值:Cluster(默认值)和Local。Cluster:当externalTraf......
  • 在K8S中,nodePort默认端口范围是多少? 为什么是这个端口范围?
    在Kubernetes(K8s)中,NodePort服务类型的默认端口范围通常是30000-32767。这个范围是Kubernetes项目早期设定的标准,并且被广泛接受为默认配置。选择这个端口范围的原因有以下几点:避免冲突:低于30000的端口往往被系统保留给一些知名的网络服务和应用程序使用。设置较高......
  • 解决npm 错误:request to https://registry.npm.taobao.org/ failed, reason: certific
    今天,启动一个纯前端的老项目,安装依赖时报错。npm错误:requesttohttps://registry.npm.taobao.org/failed,reason:certificatehasexpired从报错信息可看出,以前经常使用的淘宝镜像https://registry.npm.taobao.org/的证书过期了,就是该域名的备案证书过期了,但似乎直到2024......
  • 解决uniapp项目中使用vant Weapp图标组件报错问题(Module build failed from ./node_mo
    解决uniapp项目中使用vantWeapp图标组件报错问题(Modulebuildfailedfrom./node_modules/postcss-loader/src/index):https://blog.csdn.net/it_cgq/article/details/111991644?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522170909210216800225582870%2522%252C%252......