之前笔者为了方便快速下载npm包,搭建了一个内网的npm私服,详情见下
这次分享如何发布私有包到这个私服上,其实操作挺简单,但还是把它记录下来,免得忘了。
1.建账号
npm adduser --registry http://<ip>:4873
按提示输入用户名和密码以及邮箱,输入完成后就会自动在私服上建了个账号,同时也在本地.npmrc放了一个token。
可以查看.npmrc文件,会出现类似如下的内容
登录私服的页面,也可以用你刚才建的账号登录进去
2.发布npm项目
命令行进入到你的npm项目目录,即package.json所在的目录
npm publish
如果你要删除这个项目,则输入命令如下
npm unpublish <package>@<version> --force
发布成功后,则可以在别的前端项目里下载引用了,注意前提是,你的npm registry必须指向私服,可以通过以下命令设置
//查看当前的registry
npm config get registry
或
cat ~/.npmrc
//设置本地私服registry为当前npm源
npm config set registry http://<ip>:4873
你也可以登录WEB页面,查看已发布的包
注:
如果要让其他前端项目引用,要注意如果你的默认文件不是index.js且不在根目录,需要指定package.json的main属性,其值应为typescript构建后主文件所在路径,如下类似
另外,为了方便开发时能自动提示,建议把tsconfig.json的declaration开关打开,这样可以自动生成.d.ts文件。
如果构建时提示lint错误,请将.eslintignore文件加上构建目录,避免因生成.d.ts文件而造成es lint不通过。
参考:
Authentication | Verdacciohttps://verdaccio.org/docs/authentication/