组件的发布
发布到 npm 源
发布到 npm 源是为了分发
之前我们已经构建出了产物,现在需要发布到 npm 上
实际上也很方便,因为我们之前在 package.json 中的 entry point 字段
已经知道发布一个 npm 包,需要哪些字段了。
像之前的目录结构:
bash
index.css
index.d.ts
index.js
index.umd.cjs
....我们自然可以在 package.json 这样配置出:
json
{
"name": "ice-ui",
"version": "0.0.0",
"type": "module",
"files": ["dist"],
"main": "./dist/index.umd.cjs",
"module": "./dist/index.js",
"exports": {
".": {
"import": "./dist/index.js",
"require": "./dist/index.umd.cjs"
},
"./style.css": "./dist/index.css"
}
}发布到 npm 源
在注册 npmjs.com 之后,创建 Access Token,你就可以使用这个 token 发布 npm 包了
这个 token 会保存在你全局的 .npmrc 中
在配置完成之后,执行 npm publish 就能够顺利发布到公有的 npmjs.com 源了
你可以执行
npm publish --dry-run查看到底哪些文件会被包括在发布包中。
指定 npm 源
可以通过 package.json 中的 publishConfig 去指定 npm 源
json
{
"publishConfig": {
"access": "restricted",
"registry": "http://your.self.npm.org/"
}
}发布成功
你可以直接在 https://www.npmjs.com/package/<your-package-name> 这里看到你发布的包的样子
<your-package-name> 换成你自己在 package.json 写的 name 就是你包的名字
npmjs 搜索你的包可能没有那么快,但是过一段时间之后,你也能搜索到你自的包了
进阶
package.json 里面实际上有很多字段,会影响的 npmjs 的 seo 还有页面的表现
比如 description, keywords 就会显示在 npm 搜索列表中
json
{
"type": "git",
"url": "https://github.com/sonofmagic/deep-in-vue.git"
}这个会影响页面的 Repository 展示
json
{
"homepage": "https://deep-in-vue.icebreaker.top",
}这个会影响页面的 Homepage 展示
还有 license 等等字段,看 npm 官方文档自己摸索去吧。