关于 Docker 的使用不在本文之中,请自行参考其他文档。
经过测试, keyvanfatehi/sinopia 可用。
- 将 docker image 拉下来
1 | docker pull keyvanfatehi/sinopia |
- 将 keyvanfatehi/sinopia 跑起来
1 | docker run --name sinopia -d -p 4873:4873 keyvanfatehi/sinopia |
docker运行在代码服务器上,此时通过 http://192.168.12.1:4873 可以访问私有NPM 仓库网页。
发布 JavaScript 类库
添加示例类库项目 Hello1
2
3
4mkdir Hello
cd Hello
yarn init -y # npm init -y
touch index.js
在 index.js 内添加如下内容1
2
3
4
5let greeting = function(name) {
return 'Hello ' + name;
}
module.exports = greeting;
这份代码导出了一个函数,已经可以发布和被依赖了。
- npm adduser
初次使用这个私有仓库需要添加用户1
npm adduser --registry http://192.168.12.1:4873
- npm publish
再把上面的代码发布上去1
npm publish . --registry http://192.168.12.1:4873
NPM 有自己的版本和发布策略,可以使用以下命令查看帮助文档
npm help version
npm help publish
发布可能因为版本问题失败,追加谓词 –force 可强制发布但并非是常规操作。
发布后的管理页面图示
引用已发布的类库
添加示例业务项目 myDemo1
2
3
4mkdir myDemo
cd myDemo
yarn init -y # npm init -y
touch index.js
引用 Hello1
yarn add Hello --dev --registry http://192.168.12.1:4873
在 index.js 内添加如下内容1
2
3
4
5
6const Hello = require('Hello');
(function() {
let greeting = Hello('Rattz');
console.log(greeting);
})();
运行起来1
2node index.js
Hello Rattz
至此私有NPM仓库搭建、类库发布、依赖引用的部分已经完成。