开发脚手架工具
-
创建index.js
- 可以编写一些简单的代码
-
创建package.json
npm init -y -
创建coderwhy命令
-
入口文件中,添加如下指令(shebang也称为hashbang)
-
修改package.json
{ "name": "07_learning_cli", "version": "1.0.0", "description": "", "main": "index.js", "bin": { "why": "index.js" }, "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "keywords": [], "author": "", "license": "ISC", "dependencies": { "commander": "^9.4.0" } }- npm link
-
Commander的使用
- 定义版本号
//查看版本号
program.version(require("./package.json").version);
//增加自己的options
program.option("-w --why", "a why cli");
//解析终端指令
program.parse(process.argv);
- 添加其他选项、修改帮助选项
创建项目指令
创建项目指令的思路如下:
-
创建解析create指令
-
通过download-git-repo从代码仓库中下载模板
-
进入目录,并且执行
npm install命令 -
执行
npm run serve命令 -
打开浏览器
创建命令 – 下载代码
Git地址配置 – 终端执行命令
创建添加组件-页面-vuex命令
-
创建添加组件-页面-vuex命令的思路:
-
创建addcpn、addpage、addstore的命令
-
准备好对应的ejs模块(
component.vue.ejs,vue-router.js.ejs,vue-store.js.ejs,vue-types.js.ejs) -
封装编译ejs模块的函数
-
封装将编译后的内容,写入文件的函数
-
将上面封装的所有代码放到一起的函数
-
创建指令的代码
编译ejs – 写入文件 – ejs到文件
ejs到文件转化函数以及调用
发布项目
-
注册npm账号:
-
选择sign up
-
在命令行登录:
npm login -
修改package.json
-
发布到npm registry上
npm publish -
更新仓库:
-
1.修改版本号(最好符合semver规范)
-
2.重新发布
-
-
删除发布的包:
npm unpublish -
让发布的包过期:
npm deprecate