npm包(npm install --legacy-bundling) 通过npm-pack-all 打包tgz,放到内网(不联网)nexus发布(npm publish)

npm包(npm install --legacy-bundling) 通过npm-pack-all 打包tgz,放到内网(不联网)nexus发布(npm publish)

需求

内网不联网,安装指定npm包,装不上,还要支持CI的测试打包,所以要将外网的npm包放到内网的nexus私服上

举例安装 quill@1.3.7

外网机器

  1. 桌面建立目录needPackage (目录名随便,但是一定要是英文名字)
  2. npm init -y
  3. npm install quill@1.3.7 --legacy-bundling
后加内容(20240223):今天新发现一个清理包的工具,我装了下,需要rust支持,结果又装rust,里面需要visual studio 支持,要下载1个多G,解压5个多G的开发环境,我就暂时放弃了。
但是如果可以把包清理一下,再全部打包,也是非常不错的选择
NPMprune
一个 Shell 脚本,删除 node_modules 目录里面各个模块的多余文件(比如 markdown 文件),有利于容器打包时减少体积。
  1. npm install -g npm-pack-all
    npm-pack-all 全局装一次就ok了
  2. cd node_modules
  3. cd quill
  4. npm-pack-all
    打包生成会自动带上版本号
  5. 将生成的 quill-1.3.7.tgz copy到内网机器进行发布

内网机器(nexus私服)

  1. 进入npmInternalInstall目录(目录里面包含.npmrc文件)
    .npmrc
email=you@email.com 
always-auth=true 
_auth=***************==
registry=http://ip:port/nexus/content/repositories/npm-internal/
  1. 当前目录已经将刚才的quill-1.3.7.tgz copy进来了
  2. npm publish .\quill-1.3.7.tgz

内网发布完成。

posted @ 2024-01-31 10:59  彭成刚  阅读(559)  评论(0编辑  收藏  举报