基于vue发布npm包的项目模板架构说明文件
目录说明
examples // 本地开发查看包效果的演示目录
lib // 此npm包打包后
packages // npm包开发目录
todoList // todoList包
src // 主要功能实现的.vue文件
index.js // 对外提供对该npm包文件的引用
public // 静态资源目录
tests // 单元测试
.eslintrc.js // eslint配置
.gitignore // git忽略文件
.npmignore // npm发包的忽略文件
项目模板架构说明文件.md // 该项目架构相关说明
babel.config.js // babel配置文件
jesit.config.js // 单元测试框架jest配置文件
package.json
README.md // 此npm包使用说明
如何开发一个npm包
新建相关目录和文件
在packages目录下新建你准备开发包的名称代号(如demo1),参考todoList相关新建对应文件,做对应修改
修改package.json里的相关信息
默认是wd-todolist-vue包相关的,可根据实际修改(遵守相关命名规则:公司组织代号-包名简称-框架)
参考:https://docs.npmjs.com/creating-a-package-json-file
本地跑起服务,查看该包效果
npm run dev
增加演示代码,辅助本地开发
在examples/App.vue里引入该组件(参考todolist组件)
增加单元测试
项目默认使用的jest单元测试框架。在tests/unit目录下新建相关单元测试文件,并编写测试用例
编写该npm包使用说明
在README.md里编写该npm包使用说明
删除示例,避免打不必要的包
删除示例的packages/todoList以及App.vue里的相关引入
提交代码
代码通过gitlab管理
-
登录gitlab,访问http://192.168.0.223:9090/architecture/front-end/npm (无权限,联系leonard)
-
新建相关git仓库(名称和该npm包名一致,遵守相关命名规则)
-
提交并推送代码到此仓库
发布npm包
npm publish
更新版本
先切换到master分支
每次修改完组件后,我们需要更新版本
方式一 修改 package.json 的version版本
规则:对于"version":"x.y.z"
1.修复bug,小改动,增加z
2.增加了新特性,但仍能向后兼容,增加y
3.有很大的改动,无法向后兼容,增加x
然后重新npm publish发布包
方式二 使用命令修改版本
使用命令:npm version <update_type>进行修改,update_type 有三个参数,
第一个是patch, 第二个是minor,第三个是 major,
patch:这个是补丁的意思;
minor:这个是小修小改;
major:这个是大改动;
具体咋用:
比如我想来个1.0.1版本,注意,是最后一位修改了增1,那么命令:npm version patch 回车就可以了;
比如我想来个1.1.0版本,注意,是第二位修改了增1,那么命令: npm version minor 回车就可以了;
比如我想来个2.0.0版本,注意,是第一位修改了增1,那么命令: npm version major 回车就可以了;
然后 使用 npm publish 发布即可
取消已发布的npm包
终端cli命令取消
参考: https://docs.npmjs.com/unpublishing-packages-from-the-registry
取消发布软件包的单个版本
要取消发布软件包的单个版本,请运行以下命令,用package-name软件包的名称和version版本号替换:
npm unpublish package-name@version
取消发布整个程序包
要取消发布整个程序包,请运行以下命令,用package-name您的程序包名称替换:
npm unpublish package-name -f
如果为写入启用了双重身份验证,则需要在unpublish命令中添加一次性密码--otp=123456(其中123456是您的身份验证器应用程序中的代码)。
私有npm仓库删除直接在服务器上删除
一般情况建议用终端单个删除。如果是想一次性删除多个的话,连接上你部署verdaccios的服务器,具体操作示例如下:
cd /home/yg/.config/verdaccio
~/.config/verdaccio$ ls
config.yaml htpasswd storage
~/.config/verdaccio$ cd storage
~/.config/verdaccio/storage$ ls
~/.config/verdaccio/storage$ rm -rf 包名