码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 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'
              }
            ]
          },
        ]
      }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49

    核心文件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 }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

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

  • 相关阅读:
    【SpringBoot】启动过程之——SpringApplication初始化及运行
    ssm小型超市管理系统的设计与实现毕业设计源码011136
    英特尔 Linux Vulkan 驱动程序的首席开发人员离职;JDK 18 功能集被冻结,进入 Rampdown 第一阶段;Ubuntu 禁用 os-prober | 开源日报
    【Rust 日报】2022-08-04 异步Rust的实践:性能、隐患、分析​
    Git指令
    C/C++入门001-概述环境搭建与案例
    解析企业绩效通系统架构:构建高效管理与激励平台
    Codeforces Round 902 Div 1 (CF 1876)
    vue中watch监听事件与计算属性的区别
    shell脚本学习笔记
  • 原文地址:https://blog.csdn.net/yuan_618859/article/details/132793254
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号