vue组件库开发,webpack打包,发布npm

做一个像elment-ui一样的vue组件库

那多好啊!这是我前几年就想做的

但webpack真的太难用,也许是我功力不够

今天看到一个视频,早上6-13点,终于实现了,呜呜

感谢视频的分享-来龙去脉-大家可以看这个视频:https://www.bilibili.com/video/BV1Zf4y1u75o?p=9&vd_source=125d808bbbad2b8400f221b816a0f674

有些能力你可能不用,但你必须具备,就像这个vue组件库开发

1.我终于发布了一个自己的组件库

1.1在npm上面

1.2 别人如何使用:

1.3 本地使用效果:

2.核心代码

全部源码地址:https://gitee.com/618859/yiz-ui

核心文件1:webpack.config.js

复制代码
// 不懂可以微信我yizheng369
const path = require('path');
// const VueLoaderPlugin = require('vue-loader/lib/plugin');
const { VueLoaderPlugin } = require("vue-loader");
const { CleanWebpackPlugin } = require('clean-webpack-plugin');

module.exports = {
  mode: 'development',
  // entry: './src/components/index.js',
  entry: {
    // 把组件一个个写到这里才能正常打包喔
    card: './src/components/card/index.js',
    myInput: './src/components/my-input/index.js',
    yizTitle: './src/components/yiz-title/index.js',
    index: './src/components/index.js',
  },
  output: {
    path: path.resolve(__dirname, 'dist'),
    filename: '[name].umd.js',
    library: 'YizUI',
    libraryTarget: 'umd',
  },
  // resolve: {
  //   alias: {
  //     '@': path.resolve(__dirname, 'src'),
  //   },
  // },
  plugins: [
    // 先删除原来的文件,再打包
    new CleanWebpackPlugin(),
    new VueLoaderPlugin()
  ],
  module: {
    rules: [
      {
        test: /\.css$/,
        use: ['style-loader', 'vue-style-loader', 'css-loader']
      },
      {
        test: /\.vue$/,
        use: [
          {
            loader: 'vue-loader'
          }
        ]
      },
    ]
  }
}

核心文件2: 集中注册文件

复制代码
// 集中在这里注册
import Card from './card/src/main.vue'
import MyInput from './my-input/src/main.vue'
import yizTitle from './yiz-title/src/main.vue'
// console.log('card', Card);
const components = [Card, MyInput, yizTitle]
function install(Vue){
  components.forEach(component => {
    // 全局注册组件
    Vue.component(component.name, component)
  })
}
// 将注册函数导出去
export default { install }

大家将源码下载下来,一看就明白了。

相关推荐
半桶水专家7 分钟前
vue中的props详解
前端·javascript·vue.js
前端不太难21 分钟前
RN 遇到复杂手势(缩放、拖拽、旋转)时怎么设计架构
javascript·vue.js·架构
白兰地空瓶22 分钟前
一行 npm init vite,前端工程化的世界就此展开
前端·vue.js·vite
码力巨能编30 分钟前
Markdown 作为 Vue 组件导入
前端·javascript·vue.js
仰望.1 小时前
vue 甘特图 vxe-gantt table 拖拽任务调整开始日期和结束日期的使用,拖拽任务调整日期
vue.js·甘特图·vxe-ui
阿懂在掘金1 小时前
早点下班:在 Vue3 中少写 40%+ 的异步代码
vue.js
老华带你飞1 小时前
健身房预约|基于springboot 健身房预约小程序系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端·小程序
paopaokaka_luck1 小时前
基于SpringBoot+Uniapp的自习室预约小程序(腾讯地图API、Echarts图形化分析、二维码识别)
vue.js·spring boot·后端·spring·echarts
博客zhu虎康1 小时前
Vue全局挂载Element消息组件技巧
前端·javascript·vue.js
玉宇夕落1 小时前
现代前端开发工程化:从 Vite 到 Vue 3 路由实战
vue.js