大家好,我是 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. 关于在Eclipse中使用EclEmma

    在LAB2中,要求使用EclEmma来统计JUnit测试用例的代码覆盖度.下面就来说说如何进行基本的使用来应付实验(bushi). 在这给出完全体,可以访问下面的网址进行学习. http://www. ...

  2. idea中 .gitignore文件的使用

    idea中 .gitignore文件的使用 首先保证当前的所有文件都没有被git追踪 如果被追踪,建议先取消git的版本控制 输入如下指令 find . -name ".git" ...

  3. python3GUI--打造一款音乐播放器By:PyQt5(附下载地址)

    @ 目录 一.准备工作 1.PyQt5 2.qtawesome 二.预览 1.启动 2.歌曲搜索 3.歌曲播放 4.评论查看 5.自定义背景 6.设置-基本设置 7.设置-高级设置 8.定时任务 三. ...

  4. 使用TLS/SSL传输层安全机制实现web项目的通信安全

    自己的web项目在内网ip访问时,浏览器会提示不安全 原因就是因为没有证书,而传输层的TLS/SSL协议,会告诉我们本地客户端的浏览器,我现在访问的web项目的ip地址可能存在安全风险 要解决这个通信 ...

  5. JMeter参数化(一)--CSV参数化

    一.CSV Data Set Config 1.添加配置元件-CSV Data Set Config 其中,分隔符不能是参数化的值中的符号,否则会被截断. 2.调用 3.循环读取文件中数据 假设数据内 ...

  6. Django: sqlite的版本问题小记 “SQLite 3.8.3 or later”

    问题概述 在Django中,默认的数据库时SQLite3. 可能会出现sqlite版本问题的报错,具体如下 起初我直接在django的project下面开了个cmd窗口,python python m ...

  7. mysql知识点二

    1.mysql中的语言有哪些?分别代表什么意思1.DDL(Data Define Language) 数据定义语言2.DML(Data Manipulation Language) 数据操作语言3.D ...

  8. 在DeepIn系统中使用eclipse创建maven的Web项目

    1. 安装好jdk和eclipse以后,启动eclipse 2. 创建maven项目,选择Maven Project 3. 在创建项目过程中,创建简单Maven项目,不使用archetype创建(会联 ...

  9. 部门mysql操作

      use test_db; -- 删除表 drop table if exists t1_profit; drop table if exists t1_salgrade; drop table i ...

  10. 微信公众号授权登录,整合spring security

    公司的业务需求,对接了微信公众号授权,通过微信公众号的接口拿到用户信息进行业务系统的登录,话不多说上代码,我的实现方式是整合了spingSecurity 首先是接口 @PostMapping(&quo ...