首页 > 其他分享 >将自己写的组件封装成类似element-ui一样的库,可以cdn引入

将自己写的组件封装成类似element-ui一样的库,可以cdn引入

时间:2024-03-21 09:55:06浏览次数:18  
标签:index Vue cdn element vue ui install 组件 js

在写好自己的组件之后

第一步 修改目录结构

  在根目录下创建package文件夹,用于存放你要封装的组件

第二步

  在webpack配置中加入

  pages与publicpath同级

  pages: {

    index: {

      entry: 'src/main.js',

      template: 'public/index.html',

      filename: 'index.html'

    }

  },

第三步 编写组件

  在package文件夹下

  新建一个你的组件名的文件夹

  里面存放一个你的组件的.vue文件

  再新建一个js文件  用于将你的组件暴露出来

    import Grid from './grid.vue'

    // 为组件提供 install 安装方法,供按需引入

    Grid.install = function (Vue) {

      Vue.component(Grid.name, Grid)

    }

    // 默认导出组件

    export default Grid;

 

第四步  在package文件夹下新建一个js 文件(我命名index.js)

  import Toolbar from './toolbar/index';

  // 存储组件列表

  const components = [

    Toolbar

  ]

  // 定义 install 方法,接收 Vue 作为参数。如果使用 use 注册插件,则所有的组件都将被注册

  const install = function (Vue) {

    // 判断是否安装

    if (install.installed) return

    // 遍历注册全局组件

    components.map(component => Vue.component(component.name, component))

  }

  // 判断是否是直接引入文件

  if (typeof window !== 'undefined' && window.Vue) {

    install(window.Vue)

  }

  export default {

    // 导出的对象必须具有 install,才能被 Vue.use() 方法安装

    install,

    // 以下是具体的组件列表

    Toolbar,

  }

最后一步

package.json文件中添加命令

  "scripts": {

    "serve": "vue-cli-service serve",

    "build": "vue-cli-service build",

    "lint": "vue-cli-service lint",

    "lib": "vue-cli-service build --target lib --name my --dest lib packages/index.js"

  },

最后运行  npm run lib  就发现多了一个lib文件夹  里面就存放的你打包好的js以及css




标签:index,Vue,cdn,element,vue,ui,install,组件,js
From: https://www.cnblogs.com/tzwbk/p/18086687

相关文章

  • 深度解读UUID:结构、原理以及生成机制
    What是UUIDUUID(UniversallyUniqueIDentifier)通用唯一识别码,也称为GUID(GloballyUniqueIDentifier)全球唯一标识符。UUID是一个长度为128位的标志符,能够在时间和空间上确保其唯一性。UUID最初应用于Apollo网络计算系统,随后在OpenSoftwareFoundation(OSF)的分布式......
  • element-plus
    [API]https://element-plus.org/zh-CN/component/overview.html[安装和配置]$npmielement-plus$npminstall-Dunplugin-vue-componentsunplugin-auto-import//vite.config.tsimport{defineConfig}from'vite'importAutoImport......
  • python中出现Microsoft Visual C++ 14.0 or greater is required
    我尝试下载了Microsoftvisualc++14.0,但是依然不管用,而且它是真的很大…… 直接安装相应依赖也不管用(可能其他人管用?)——condainstalllibpythonm2w64-toolchain-cmsys2链接:https://blog.csdn.net/qzzzxiaosheng/article/details/125119006 然后我有找到一个,看着描......
  • Linuxcentos7配置网卡的方法(非gui篇)
    网卡配置方法有好几种,本次讲述的是非gui的centos7配置方法 目录 1、普通配置网卡方法: 2、使用命令行工具nmcli(NetworkManager的命令行界面)方法:删除连接:创建新的连接:注意事项:附记:  1、普通配置网卡方法:由于本次操作过程和我之前发布的文章的第一种原理......
  • 【前端Vue】Vue从0基础完整教程第3篇:面经PC端-element (上)【附代码文档】
    Vue从0基础到大神学习完整教程完整教程(附代码资料)主要内容讲述:vue基本概念,vue-cli的使用,vue的插值表达式,{{gaga}},{{if(obj.age>18){}}},vue指令,综合案例-文章标题编辑vue介绍,开发vue的方式,基本使用,如何覆盖webpack配置,目录分析与清理,vue单文件组件的说明,vue通......
  • element plus table将复选框更改为只能选一条数据后,有部分数据无法选中
    只有前两个可以选中,下面三条数据都无法选中,一开始以为是代码写的有问题,还看了半天逻辑最后发现,这个表格的数据有一个字段名是children,而table组件识别到这个字段会认为表格是一个树形表格,前两条数据可以选中是因为children:[]给table添加了row-key="id",表格实际是下图所示 ......
  • 微信小程序(vantWeapp) UI组件库
     vantWeapp官方文档: https://youzan.github.io/vant-weapp/#/quickstart 根据文档的安装步骤  为什么写这样的变量名就能实现对相关的组件修改自定义颜色呢? 原因如下:根据文档描述,官方提供了相关的变量对应的组件 https://github.com/youzan/vant-weapp/blo......
  • 线程同步 SynchronizationContext 在命令行程序中创建一个ui线程承载WPF运行
    1、创建一个线程作为ui线程ui线程要求必须是STA线程vart=newThread(()=>{});t.SetApartmentState(ApartmentState.STA);t.Start();2、创建一个公共的SynchronizationContext作为同步的入口在.NET框架中,Dispatcher是一个类,它负......
  • 100美金的Salesforce新产品Pro Suite, 能否成为中小企业的首选?
    毋庸置疑,Salesforce在其运营的几乎所有市场中都占据主导地位。Salesforce以23%的CRM市场份额遥遥领先,包括销售、服务、营销、商业和集成类别的应用程序。但通常情况下,Salesforce并不是中小型企业或初创企业的首选,企业会寻求更具成本效益的选择,例如Monday.com、HubSpot、Pipedriv......
  • webui自动化框架-playwright
    playwright中文文档Playwright为现代web应用提供了跨浏览器、快速且可靠的端到端的测试能力。|Playwright中文文档|Playwright中文网(bootcss.com)playwright安装pipinstallplaywrightplaywright-浏览器安装playwright的nohead模式需要在本地安装浏览器的内核pl......