GithubHelp home page GithubHelp logo

laughingdyc / taro-ui-vue3 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from b2nil/taro-ui-vue3

0.0 0.0 0.0 7.54 MB

采用 Vue 3.0 重写的 Taro UI 组件库

Home Page: https://b2nil.github.io/taro-ui-vue3/

License: MIT License

JavaScript 8.98% Vue 90.82% Shell 0.20%

taro-ui-vue3's Introduction

Taro UI Vue3

PRs Welcome NPM version NPM npm bundle size npm

taro-ui-vue3 logo

采用 Vue 3.0 重写的 Taro UI 组件库

组件复用了 Taro UI 已有的样式和类型定义。

安装

# 使用 yarn
yarn add taro-ui-vue3

# 或使用 npm
npm i taro-ui-vue3

使用

  • 配置编译插件

    由于 taro-ui-vue3@^1.1.0 提供的是采用 Vue 3.0 SFC 编译后的文件,Taro 目前尚不支持自动收集使用渲染函数编写的组件中所使用的小程序组件标签。

    taro-ui-vue3 提供了一个自动收集小程序组件标签的插件,请在编译配置文件中进行配置。

    // ./config/index.js
    {
      plugins: ['taro-ui-vue3/lib/plugin'],
    }
  • 全局引用组件和样式

    • 引用全部组件和样式
    import { createApp } from 'vue'
    import { createUI } from 'taro-ui-vue3'
    
    // 引用全部组件样式
    import 'taro-ui-vue3/dist/style/index.scss'
    
    const App = createApp({
      onShow(options) { },
    })
    
    // 引用全部组件
    const tuv3 = createUI()
    App.use(tuv3)
    
    export default App
    • 引用部分组件和样式
    import { createApp } from 'vue'
    import { createUI } from 'taro-ui-vue3'
    import { 
      AtButton, 
      AtInput, 
      AtTabs 
    } from 'taro-ui-vue3/lib'
    
    // 引用上述组件对应的样式文件
    import 'taro-ui-vue3/dist/style/components/button.scss'
    import 'taro-ui-vue3/dist/style/components/input.scss'
    import 'taro-ui-vue3/dist/style/components/tabs.scss'
    
    const App = createApp({
      onShow(options) { },
    })
    
    // 引用部分组件
    const tuv3 = createUI({
      AtButton, 
      AtInput, 
      AtTabs
    })
    App.use(tuv3)
    
    export default App
  • 按需引用组件和组件样式

    import { AtButton } from 'taro-ui-vue3/lib'
    import 'taro-ui-vue3/dist/style/components/button.scss'
    
    export default {
      components: {
        AtButton
      }
    }
  • 完全遵照 vue 3.0 语法,组件具体参数请参考 文档,亦可参考 Demo 的写法

体验 UI Demo

与 Taro UI 的差异

  • 移除了 Taro UI 组件的 classNamecustomStyle 属性,可直接给组件传入 classstyle 属性,自定义部分组件样式。
    <at-card 
      class="custom-class" 
      style="height: 20px;"
    >
      ...
    </at-card>

开发

  • 安装依赖

    运行 yarn bootstrap 安装所有依赖,并创建packages目录下所有组件以及demo目录之间的符号链接。

  • 修改文件

    • 组件位于 packages 目录,如需修改组件,找到相关组件目录即可。

    • 组件测试文件位于各个组件目录下的 __tests__目录中。测试用的一些 mock 文件和功能位于 packages/test-utils 目录。

    • 文档文件位于 website/docs 目录,关于组件使用方面的修改,只需修改该目下的相关文件即可。

    • 文档网站采用 vitepress 开发,网站组件位于 website/.vitepress 目录,如需修改网站相关功能和主题,则需修改该目录下的相关文件。

    • demo 位于 demo 目录。

  • 预览 demo

    • 预览小程序 demo:

      运行 yarn demo:weapp (以微信为例,其他平台可更改以下 scripts 下的命令)

    • 预览 h5 demo:

      demo 设置了从项目根目录下 distlib 中引用组件和部分功能,因此采用了 esbuild 在开发时进行快速构建和打包。

      但 h5 平台使用 esbuild 打包的组件时,会报错。因此,预览 h5 效果时,需要先使用 rollup 打包。

      运行 yarn build 使用 rollup 打包组件,然后运行 cd demo && yarn dev:h5 预览

  • 预览文档

    运行 yarn dev:docs 预览文档。

TODOs

  • [] 组件展示页面
    • [] theme

License

MIT

Credits

taro-ui-vue3's People

Contributors

b2nil avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.