背景
为了方便后续一些包或者组件可以脱离项目本身,独立存在一套代码中,并且进行维系,采用npm+github的方式是极其方便的,为此我们先了解下npm包是怎么发布的,以及怎么给npm追加一个github包
npm 常用用法
npm 超详细教程 - 掘金
npm发布流程
-
注册一个npm账号 npm
-
初始化一个项目:npm init
-
创建一个index.js文件
-
package.json 中 main: "index.js" 指向导出的入口文件 index.js
-
npm adduser 输入自己的 npm 账号密码
-
npm publish --access=public,每次记得更改版本号
删除不想保留的版本
npm unpublish 名称@版本号
npm unpublish 名称 --force 强制删除所有的版本
以上仅限于没有人下载的该版本时使用,一旦被下载,就只能设置为
npm deprecate js-sls-logger-v3@1.0.1 deprecate
实战点
-
npm 包要有针对性,你是给纯 node.js 环境使用,还是 browser 环境使用,还是 webpack 使用,如果你确定给某个模块使用,那么就要遵守这个模块的写法
-
.npmignore 文件记录着那些文件不被发布上去,为什么要有这玩意,因为你的包一般都会进行测试,所以本地可能部署一个 webpack 环境,引用这个包,并且打包成一个 dist 文件,然后运行测试下包正常运行不,而.npmignore 可以很好的将无关文件进行忽略
-
包就是原始代码,千万别理解为是经过 webpack 或者 vite 等包管理公司打包的文件,因为这些包是要被其他项目引用,再由其他项目的打包工作进行统一打包处理,你擅自打成包,有可能不兼容人家的打包工具,例如 async/await 都要原生的写,最后用教授架测试
-
一般我们常用的也就是一些对象,函数,或者组件啥的,用 export 抛出即可
结合 github 的玩法
npm 安装私有 git 包 - 无梦灬 - 博客园
已打 tag 的方式上传,否则 npm 会按照 package-lock.json 更新,不会主动拉最新的 github 代码,所以用 tag 的方式,保证代码的新鲜度
npm i git+https://username:password@git.example.com/path/reposity#1.0.0