持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第3天,点击查看活动详情
1. npm init 生成package.json
2. package.json
{
"name": "tool",//包名
"version": "1.0.6", // 版本
"main": "index.js", // 入口 require这个包 导出的内容
"bin": {
"upload-cli": "index.js" // 定义可执行命令
},
"scripts": {
"test": "node index.js test",
"postversion": "git push && git push --tags" // 打完版本后执行的钩子
},
"repository": {
"type": "git",
"url": "git@git.aa.com:tool/tool.git"
},
"author": "",
"license": "ISC",
"dependencies": {
"xxx": "^0.5.0"
}
}
3. 如果是普通包 在index.js中导出内容即可 module.exports
4. 如果包含可执行命令 则要在package.json 中的bin定义命令
5. 开发完成后使用npm version xxx 打版本 主要有三种如下(初始版本:0.0.0):
- npm version patch 小版本号加一 0.0.1
- npm version minor 中版本号加一 0.1.0
- npm version major 主版本号加一 1.0.0
- 其他参数 见 npm help version。npm version xxx会打一个tag如:v0.1.0并且会更新package.json的version如:0.1.0
6. 通过gitlab使用
{
"scripts": {
"upload": "command param", // 定义bin才可以当命令使用
},
"devDependencies": {
"command": "git+ssh://git@git.aa.com:tool/tool.git",
},
}
7. 安装
- 第一次安装 npm i 或者 cnpm i
- 更新 npm i aa-tool 或者 cnpm i aa-tool
8. 关于版本
- 直接使用 "git+ssh://....git" 会安装master分支的最新代码(cnpm 会安装最新的version,所以有更改都要打版本)
- 指定版本或者commit "git+ssh://....git#v0.0.1"
- 指定语义化版本semver "git+ssh://...git#semver:^0.0.1" (cnpm 不支持)