当前位置: 首页 > news >正文

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 }

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

http://www.lryc.cn/news/162715.html

相关文章:

  • Java中快速排序的优化技巧:随机取样、三数取中和插入排序
  • 【leetcode 力扣刷题】删除字符串中的子串or字符以满足要求
  • 【Unity基础】3.脚本控制物体运动天空盒
  • Spring MVC拦截器
  • ClickHouse的Join算法
  • java面试题-RabbitMQ面试题
  • 数据仓库-核心概念
  • java中的实体类
  • 使用Puppeteer爬取地图上的用户评价和评论
  • GLSL ES着色器语言 使用矢量和矩阵的相关规范
  • Himall商城- web私有方法
  • Spring Boot 整合 Redis,使用 RedisTemplate 客户端
  • Tomcat 接收请求并传递给工作线程池流程
  • 在Linux系统上用C++将主机名称转换为IPv4、IPv6地址
  • 【硬件设计】硬件学习笔记二--电源电路设计
  • day34 集合总结
  • 【JAVA】 图书管理系统(javaSE简易版 内含画图分析) | 期末大作业课程设计
  • 区块链技术与应用 - 学习笔记3【比特币数据结构】
  • Ubuntu下高效Vim的搭建(离线版)
  • 阿里云和腾讯云2核2G服务器价格和性能对比
  • PYTHON(一)——认识python、基础知识
  • Python 操作 Excel
  • 21.添加websocket模块
  • Linux UDP编程流程
  • 【opencv】多版本安装
  • webpack打包常用配置项
  • 回归预测 | MATLAB实现MPA-BiGRU海洋捕食者算法优化双向门控循环单元多输入单输出回归预测(多指标,多图)
  • selenium_webdriver自动化测试指南
  • 红米Note12Turbo解锁BL刷入PixelExperience原生ROM系统详细教程
  • NoSQL之Redis配置与优化(一)