将 Vue 组件库发布到 npm

Posted h2zzhou

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将 Vue 组件库发布到 npm相关的知识,希望对你有一定的参考价值。

制作了一套自己的组件库,并发布到npm上,项目代码见 GitHub 。

前期准备

  • 有一个npm账号
  • 安装了vue-cli

搭建项目

vue init webpack hg-vcomponents
cd hg-vcomponents
cnpm install

目录结构

- vue-flag-list
    + build
      + dist // 存放发布到npm的代码
      - src
          - components // 存放组件源代码 和 README.md
            - arrows
                 arrows.vue
                 README.md
             - round
                round.vue
                 README.md
            index.js // 组件导出文件
        - examples // 存放组件的 demo
            arrows.vue
              round.vue
              index.vue // 组件 demo 的入口
          - router
              index.js // 引入 examples 下的组件,并配置路由
          App.vue
          main.js
      ...

内部代码详见 GitHub,如果对你有所帮助,给个star吧 。

项目配置

为了使项目能上传到npm上,需要配置一些地方。

build/webpack.base.conf.js

entry: {
    app: process.env.NODE_ENV === ‘production‘
      ? ‘./src/components/index.js‘ // 生产模式下导入文件
      : ‘./src/main.js‘ // 开发模式下导入文件
},

package.json

"private": false, // 因为组件包是公用的,所以 private 为 false
"main": "dist/hg-vcomponents.min.js", // 导出文件名,即 import 引入的文件

.gitignore

dist文件夹下文件是要导出的文件,所以在.gitignore文件中把dist/去掉,这样上传代码的时候也会更新打包后的文件。

开发与生产

由于配置了webpack.base.conf.js,使得项目的开发与生产独立开来。
使用npm run dev进入开发环境,就可以看到组件的demo,方便调试。使用npm run build打包组件库。

发布到npm

在你登录了npm的情况下,在根目录输入命令行(每次更新代码执行同样操作)

npm version patch
npm publish

大功告成!现在你可以在其他地方使用npm install hg-vconponents下载自己写的组件库了。

以上是关于将 Vue 组件库发布到 npm的主要内容,如果未能解决你的问题,请参考以下文章

Vue组件库发布到npm详解

使用 Vite、Vue 3 和 Typescript 将组件库发布到 npm

无法从 npm 包中导入 vue 组件

如何从0开发一个Vue组件库并发布到npm

vue封装组件,类似elementUI组件库打包发布到npm上

vue3.0 开发公共组件库并发布到npm