大家好,我是 Kagol,OpenTiny 开源社区运营,TinyVue 跨端、跨框架组件库核心贡献者,专注于前端组件库建设和开源社区运营。

今天给大家介绍如何同时在 Vue2 和 Vue3 项目中使用 TinyVue

TinyVue 是一套跨端、跨框架的企业级 UI 组件库,支持 Vue 2 和 Vue 3,支持 PC 端和移动端。

特性:

  • 包含 80 多个简洁、易用、功能强大的组件
  • 一套代码同时支持 Vue 2 和 Vue 3
  • ️ 一套代码同时支持 PC 端和移动端
  • 支持国际化
  • 支持主题定制
  • 组件内部支持配置式开发,可支持低代码平台可视化组件配置
  • 采用模板、样式、逻辑分离的跨端、跨框架架构,保障灵活性和可移植性

在 Vue2 项目中使用

创建 Vue2 项目

先用 Vue CLI 创建一个 Vue2 项目。

// 安装 Vue CLI
npm install -g @vue/cli // 创建 Vue2 项目
vue create vue2-demo

输出以下信息说明项目创建成功

  Successfully created project vue2-demo.
Get started with the following commands: $ cd vue2-demo
$ yarn serve

创建好之后可以执行以下命令启动项目

yarn serve

输出以下命令说明启动成功

  App running at:
- Local: http://localhost:8080/
- Network: http://192.168.1.102:8080/

效果如下

安装和使用 TinyVue

安装 TinyVue

npm i @opentiny/vue@2

在 src/views/Home.vue 中使用 TinyVue 组件

<template>
<div class="home">
<!-- 3. 使用 TinyVue 组件 -->
<Button>OpenTiny</Button>
<Alert description="Hello OpenTiny"></Alert>
</div>
</template> <script lang="ts">
// 1. 引入 TinyVue 组件
import { Button, Alert } from '@opentiny/vue' @Component({
components: {
// 2. 注册 TinyVue 组件
Button, Alert
},
})
</script>

效果如下

在 Vue3 项目中使用

创建 Vue3 项目

使用 Vite 创建一个 Vue3 项目

npm create vite vue3-demo

输出以下信息说明项目创建成功

Done. Now run:

  cd vue3-demo
npm install
npm run dev

创建好之后可以执行以下命令启动项目

npm i
npm run dev

输出以下命令说明启动成功

  VITE v3.2.5  ready in 391 ms

  ➜  Local:   http://localhost:5173/
➜ Network: use --host to expose

效果如下

安装和使用 TinyVue

安装 TinyVue

npm i @opentiny/vue@3

在 src/App.vue 中使用 TinyVue 组件

<script setup lang="ts">
// 1. 引入 TinyVue 组件
import { Button, Alert } from '@opentiny/vue'
</script>
<template>
<!-- 2. 使用 TinyVue 组件 -->
<Button>OpenTiny</Button>
<Alert description="Hello OpenTiny"></Alert>
</template>

效果如下

总结

可以看到在 Vue2 和 Vue3 项目中组件的使用方式完全一样,这也就意味着,使用 TinyVue 的 Vue2 项目可以无缝迁移到 Vue3 项目中。

  • 无需修改 API
  • 无需担心组件功能不一致
  • 无需担心业务出现不连续

更多 TinyVue 组件,欢迎体验:https://opentiny.design/tiny-vue

联系我们

如果你对我们 OpenTiny 的开源项目感兴趣,欢迎添加小助手微信:opentiny-official,拉你进群,一起交流前端技术,一起玩开源。

OpenTiny 官网:https://opentiny.design/

OpenTiny 仓库:https://github.com/opentiny/

Vue 组件库:https://github.com/opentiny/tiny-vue(欢迎 Star )

Angular 组件库:https://github.com/opentiny/ng(欢迎 Star )

CLI 工具:https://github.com/opentiny/tiny-cli(欢迎 Star )

一个 OpenTiny,Vue2 Vue3 都支持!的更多相关文章

  1. vue-cli3 vue2 保留 webpack 支持 vite 成功实践

    大家好! 文本是为了提升开发效率及体验实践诞生的. 项目背景: 脚手架:vue-cli3,具体为 "@vue/cli-service": "^3.4.1" 库: ...

  2. jquery技巧之让任何组件都支持类似DOM的事件管理

    本文介绍一个jquery的小技巧,能让任意组件对象都能支持类似DOM的事件管理,也就是说除了派发事件,添加或删除事件监听器,还能支持事件冒泡,阻止事件默认行为等等.在jquery的帮助下,使用这个方法 ...

  3. polaris: 一个用go实现的支持restful的web框架

    介绍 polaris是一个用go实现的支持restful的web框架,主要参考tornado进行设计. 虽然在go里面搭建一个http server非常的简单,这里强烈推荐gorilla,但并没有很好 ...

  4. (转)转一份在 51testing 上的讨论——如何测试一个门户网站是否可以支持10万用户同时在线?

    转自:http://www.cnblogs.com/jackei/archive/2006/11/16/561846.html 这个帖子的内容比较典型,大家有兴趣可以也思考一下. 先是楼主提出问题: ...

  5. 光猫和路由器都支持ipv6,却无法使用ipv6?

    这些年很多地方的光猫都能获得ipv6地址了,而且新出的路由基本都支持ipv6,但是还是有很多人在http://test-ipv6.com看不到自己的ipv6地址,也上不了ipv6网站. 我也遇到这个问 ...

  6. java nio 写一个完整的http服务器 支持文件上传 chunk传输 gzip 压缩 使用过程 和servlet差不多

    java nio 写一个完整的http服务器  支持文件上传   chunk传输    gzip 压缩      也仿照着 netty处理了NIO的空轮询BUG        本项目并不复杂 代码不多 ...

  7. 一个国外网盘pCloud——支持离线下载

    给大家分享一个国外网盘<支持离线下载> https://my.pcloud.com/#page=register&invite=HiegZ8aBrt7

  8. 用CSS实现Firefox 和IE 都支持的Alpha透明效果

    有的时候,为了实现一些特殊效果,需要将页面元素变透明,本文介绍的就是用 CSS 实现 Firefox 和 IE 都支持的 Alpha 透明效果.CSS: filter:alpha(opacity=50 ...

  9. 瞧一瞧,看一看呐,用MVC+EF快速弄出一个CRUD,一行代码都不用写,真的一行代码都不用写!!!!

    瞧一瞧,看一看呐用MVC+EF快速弄出一个CRUD,一行代码都不用写,真的一行代码都不用写!!!! 现在要写的呢就是,用MVC和EF弄出一个CRUD四个页面和一个列表页面的一个快速DEMO,当然是在不 ...

  10. UTF-8、GB2312都支持的汉字截取函数

    <?php/*Utf-8.gb2312都支持的汉字截取函数cut_str(字符串, 截取长度, 开始长度, 编码);编码默认为 utf-8开始长度默认为 0*/ function cut_str ...

随机推荐

  1. Floyd算法求最短路径

    floyd算法用于求图中各个点到其它点的最短路径,无论其中经过多少个中间点.该算法的核心理念是基于动态规划, 不断更新最短距离,遍历所有的点. 知识基础:图的邻接矩阵表示: 如图是一个简单图,从A开始 ...

  2. AutoCAD2018_64bit

    「AutoCAD_2018_Simplified_...hinese_Win_64bit」https://www.aliyundrive.com/s/eiLscbxkMui 点击链接保存,或者复制本段 ...

  3. java中锁的应用(ReentrantLock)

    package com.xielu.test; public class explicit { private static Lock lock = new ReentrantLock(); priv ...

  4. 329MD5的加密

    一.引用帮助类 二.登录的代码

  5. 12.7 linux学习第十四天

    今天老刘开始讲第10章,主要讲Ahache服务和SELinux安全子系统 10.1 网站服务程序 1970年,作为互联网前身的ARPANET(阿帕网)已初具雏形,并开始向非军用部门开放,许多大学和商业 ...

  6. Crypto入门 (六)幂数加密(云影密码)

    前言: 这次题目说的是幂数加密,但是它本身 幂数加密: 题目:8842101220480224404014224202480122 分析一波,只有8.4.2.1.0五种数字,然后先根据提示百度一下幂数 ...

  7. c# 连接SQLite 查询数据 写入txt文本

    using Newtonsoft.Json.Linq; using System; using System.Data.SQLite; using System.IO; namespace @publ ...

  8. Kafka源码阅读系列——Producer

    Producer Kafka源码的exmaple模块有一个Producer类,继承了Thread类,构造方法会指定topic,是否异步,是否幂等,配置Kafka集群信息,初始化一个KafkaProdu ...

  9. K8S二进制单节点部署

    一.常见的k8s部署方式 1.inikube: Minikube是一个工具,可以在本地快速运行一个单节点微型K8s,仅用于学习预览K8s的一些特性使用 部署地址: https://kubernetes ...

  10. @click使用三元运算符

    @click="scope.row.status == 1 ? '' :  blockUp(scope.row) "