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
外网机器
- 桌面建立目录needPackage (目录名随便,但是一定要是英文名字)
- npm init -y
- npm install quill@1.3.7 --legacy-bundling
后加内容(20240223):今天新发现一个清理包的工具,我装了下,需要rust支持,结果又装rust,里面需要visual studio 支持,要下载1个多G,解压5个多G的开发环境,我就暂时放弃了。
但是如果可以把包清理一下,再全部打包,也是非常不错的选择
NPMprune
一个 Shell 脚本,删除 node_modules 目录里面各个模块的多余文件(比如 markdown 文件),有利于容器打包时减少体积。
- npm install -g npm-pack-all
npm-pack-all 全局装一次就ok了 - cd node_modules
- cd quill
- npm-pack-all
打包生成会自动带上版本号 - 将生成的 quill-1.3.7.tgz copy到内网机器进行发布
内网机器(nexus私服)
- 进入npmInternalInstall目录(目录里面包含.npmrc文件)
.npmrc
email=you@email.com
always-auth=true
_auth=***************==
registry=http://ip:port/nexus/content/repositories/npm-internal/
- 当前目录已经将刚才的quill-1.3.7.tgz copy进来了
- npm publish .\quill-1.3.7.tgz
内网发布完成。
---------------------------------------------
生活的意义就是你自己知道你要做什么,明确目标。没有目标,后面都是瞎扯!
https://pengchenggang.gitee.io/navigator/
SMART原则:
目标必须是具体的(Specific)
目标必须是可以衡量的(Measurable)
目标必须是可以达到的(Attainable)
目标必须和其他目标具有相关性(Relevant)
目标必须具有明确的截止期限(Time-based)
生活的意义就是你自己知道你要做什么,明确目标。没有目标,后面都是瞎扯!
https://pengchenggang.gitee.io/navigator/
SMART原则:
目标必须是具体的(Specific)
目标必须是可以衡量的(Measurable)
目标必须是可以达到的(Attainable)
目标必须和其他目标具有相关性(Relevant)
目标必须具有明确的截止期限(Time-based)