以封装一个cnode社区开放接口sdk为例,发布该npm包给nodejs开发者使用。 项目github地址 npm包ccnode地址
package.json
sdk模块的具体封装过程就不写了,写好模块以后,注意配置好package.json文件,具体如下。
{
"name": "yourpkgname",
"version": "0.1.0",
"description": "description",
"main": "dist/index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"compile": "./node_modules/.bin/babel src --out-dir dist", // 将源码编译到dist文件夹,入口文件也要改成dist/index.js
"prepublish": "npm run compile" // npm publish之前会prepublish
},
"repository": {
"type": "git",
"url": "https://github.com/authorname/reponame.git"
},
"bugs": {
"url": "https://github.com/authorname/reponame/issues"
},
"homepage": "https://github.com/authorname/reponame#readme",
"author": "authorname",
"license": "MIT",
"devDependencies": {
// 你的依赖
},
"dependencies": {
// 你的依赖
}
}
注册npmjs用户
首先,到https://www.npmjs.com上面注册一个用户。 然后就可以在本地添加用户:
npm adduser
username:
password:
email:
查看用户:
npm whoami
然后就可以在项目文件下,本地执行 npm publish
, npm会根据package.json里面的version来发布包版本,如果出现如下提示表示发布成功,发布npm包成功后,你就可以在https://npmjs/packages/yourpkgname上面看到你刚发布的包。
+ [email protected]
如果需要删除包,执行 npm unpublish --force
,npm会根据package.json的version删除该version的包版本。
- [email protected]
如果需要更新包,需要先更新package.json的version,但是不需要手动更新,只需执行npm version <update_tye>
, update_type 可以取三个值:major minor patch,其中 1 是主要版本,只有重大的更新才会修改它的值(major),第二个位置是次要的(minor),第三个位置是补丁(patch),根据包修改的程度来定你要修改那个位置的数字,比如:
npm version patch
[email protected]
然后更新package.json的version,再执行 npm publish
, 会根据该version进行发布。出现如下提示表示发布成功。
+ [email protected]
使用该npm包
在新的项目里面npm i --save yourpkgname,就可以愉快的使用了。
注:
更多的关于npm包管理的知识还需要深入学习,目前暂时了解了基础的npm包发布流程和方法。