发布自己的脚手架
创建脚手架 发布到NPM
定义脚手架指令
发布到NPM
下载查看发布的npm
全局安装 执行
查看软连接
脚手架本地调试
npm link 到本地
引入别的库文件
修改入口文件
将工具包 link到 global
bash
//wcrane-test-cli
npm link
测试工具包
将工具包链接到全局
** 修改工具包**
** 同步更新**
修改仓库到远程仓库
取消当前 链接本地链接
从远处仓库安装
修改本地仓库不影响远程仓库
脚手架本地link 标准流程
注册一个命令 wcrane-test init
javascript
// 参数
require('process').argv
/*
argv: [
'/usr/local/bin/node',
'/usr/local/bin/wcrane-test',
'init'
],
*/
bash
wcrane-test init
实现 wcrane-test --version
javascript
#!/usr/bin/env node
const lib = require("wcrane-test-lib")
// 注册一个命令 imooc-test init
const argv = require('process').argv;
const commond = argv[2];
const options = argv.slice(3);
if (options.length > 1) {
let [option, param] = options;
option = option.replace("--", "")
if (lib[commond]) {
if (lib[commond]) {
lib[commond]({ option, param });
} else {
console.log("无效命令")
}
} else {
console.log("请输入命令")
}
}
// 实现参数解析 --version 和 init --name
if (commond.startsWith('--') || commond.startsWith('-')) {
// 全局options
const globalOption = commond.replace(/--|-/g, '');
// console.log(globalOption)
if (globalOption === 'version' || globalOption == 'V') {
console.log('1.0.0')
}
}
功能开发完之后发布到npm
1、解除本地link
json
{
"name": "wcrane-test-lib",
"version": "1.0.1", // 修改
"description": "",
"main": "lib/index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC"
}
发布主包
开箱即用的npm publish 包:wcrane-tool pkg