前言

2021年6月7日 尤雨溪在微博上推荐了naive 这个来自图森未来的开源组件库。

naive ui 组件库官网 https://www.naiveui.com/zh-CN/os-theme

安装naive-ui 组件

npm i -D naive-ui
或
yarn add naive-ui

安装 naive 字体

npm i -D vfonts
或
yarn add vfonts

全局引入naive的两种方式

全局安装(不推荐)
失去 tree-shaking 的能力,打包有冗余代码。

import { createApp } from 'vue'
import naive from 'naive-ui'
const app = createApp(App)
app.use(naive)

按需全局安装

import { createApp } from 'vue'
import {// create naive uicreate,// componentNButton
} from 'naive-ui'const naive = create({components: [NButton]
})const app = createApp()
app.use(naive)

我的项目是这样按需全局安装的

修改项目根目录src文件下的main.ts

因为我在项目中使用了router 和 store

import { createApp } from 'vue'
import App from './App.vue'
import './registerServiceWorker'
import router from './router'
import store from './store'import { create, NButton } from 'naive-ui'const naive = create({components: [NButton]
})createApp(App).use(store).use(router).use(naive).mount('#app')

引入字体文件

只需要在你 App 的入口文件导入字体,即可调整 Naive UI 的字体。

// 你 App 的入口 js 文件
// ...// 通用字体
import 'vfonts/Lato.css'
// 等宽字体
import 'vfonts/FiraCode.css'const app = createApp()
app.use(naive)

组件中使用naive-ui组件库

由于我在全局main.ts引入Nbutton了,所以在组件中无需再引入,直接使用。

<template><n-button>Default</n-button><n-button type="primary">Primary</n-button><n-button type="info">Info</n-button><n-button type="success">Success</n-button><n-button type="warning">Warning</n-button><n-button type="error">Error</n-button>
</template><script>
export default {}
</script><style></style>

当然也可以在组件中单独引入

<template><n-card title="卡片"> 卡片内容 </n-card>
</template><script>
import { NCard } from 'naive-ui'
export default {components: {'n-card': NCard}
}
</script><style></style>

调整主题色和主题变量

官网有很清晰的介绍
https://www.naiveui.com/zh-CN/os-theme/docs/customize-theme

在App.vue进行配置主题变量和主题色

<script>
import { NConfigProvider } from 'naive-ui'
const themeOverrides = {common: {primaryColor: '#ff2d52'},Button: {textColor: '#ff2d52'},Select: {peers: {InternalSelection: {textColor: '#FF0000'}}}// ...
}
export default {data() {return {themeOverrides}},components: {'n-config-provider': NConfigProvider}
}
</script>
<style lang="css"></style><template><n-config-provider :theme-overrides="themeOverrides"><router-view /></n-config-provider>
</template>

最终的效果

naive 官网给了很多变量可以配置

https://www.naiveui.com/zh-CN/os-theme/docs/theme

官网有更多的组件,大家可以一起来体验

https://www.naiveui.com/zh-CN/os-theme/components/button

vue 3.0尤雨溪亲推ui组件库naive相关推荐

  1. Naive UI - 火热出炉!基于 Vue 3.0/TypeScript 的免费开源前端 UI 组件库

    非大厂 KPI 项目!开源三天就收获 800 Star,还获得 Vue 作者尤雨溪的官方推荐. 关于 Naive UI Naive UI 是一款基于当前比较新的 Vue 3.0/TypeScript ...

  2. Babel 陷财务困境,负责人13万年薪遭质疑,Vue.js作者尤雨溪发文力挺

    整理 | Carol 出品 | CSDN(ID:CSDNnews) 最近,拥有百万用户的开源项目 Babel 宣布,由于花钱速度持续高于获取捐赠的速度,Babel 已经陷入了财务困境,当前剩余的资金将 ...

  3. Vite 与 Vue Cli 对比 - 尤雨溪: Vite 会取代 vue-cli 吗?

    本文完整版:<Vite 与 Vue Cli 对比 - 尤雨溪: Vite 会取代 vue-cli 吗> Vite 与 Vue Cli 对比 一.Vite 与 Vue CLI 是什么? Vu ...

  4. 怎样才能学好Vue,听听尤雨溪怎么说?

    如果你想问前端最值得学习的框架是什么,我一定会毫不犹豫地告诉你是Vue. 无论你是技术小白还是前端工程师,Vue的重要性自不必多说.从首个Commit的提交到破茧重生的Vue3.Vite2,Vue凭借 ...

  5. Vue.js 作者 尤雨溪 确认出席 VueConf 2019 上海

    VueConf 2019 上海(第三届VueConf) 将于2019年6月8日 在上海举办. 目前正在抢票中, 如果你对本次会议感兴趣可以移步大会网站:vue.w3ctech.com 如果你有关注过V ...

  6. Vue.js 作者尤雨溪:TypeScript 与 JavaScript 并行才切合实际!

    作者 | Evrone 译者 | 弯月,责编 | 杨碧玉 头图 | CSDN 下载自视觉中国 出品 | CSDN(ID:CSDNnews) 以下为译文: 简介 尤雨溪是一名优秀的软件开发人员,同时是开 ...

  7. 掘金 AMA:听 Vue.js 作者--尤雨溪谈 Vue.js 独立开发 设计那些事

    第七期 沸点,掘金团队请来了Vue.js 的作者,全职独立开源开发者尤雨溪做了为期三天的 Ask Me Anything (AMA) 活动(已结束). 我们在此精选了一些来自用户的提问及尤小右(尤雨溪 ...

  8. Vue 3的高颜值UI组件库

    Vue 3.0 已经发布两年多的时间,今年 2 月 Vue 3.0 也正式成为新的默认版本.今天就来分享 7 个适用于 Vue 3 的高颜值 UI 组件库! Element Plus Element ...

  9. 重磅!尤雨溪公布 Vue 3.0 开发路线

    web前端教程 用大白话,来讲编程 在上周的 Vue.js 伦敦大会上,Vue.js 作者尤雨溪简要介绍了 Vue 下一个主要版本要发布的内容,9 月 30 日,尤雨溪在 medium 个人博客上发布 ...

最新文章

  1. .net 下直接读分区数据,并生成ISO光盘镜像文件,含DEMO
  2. 计算机故障的分析原理,蓝屏含义、原理分析、处理方法 电脑计算机故障系统安全...
  3. C语言volatile关键字的作用
  4. 【caffe-Windows】以mnist为例lmdb格式数据
  5. 初始java_第一章__初始JAVA
  6. typedef有什么用_我是怎么用C++恰饭吃的
  7. LSI_阵列卡操作手册
  8. Layui简介、layui例子
  9. 科创板第二天:全线翻绿 仅4股飘红
  10. FastAPI用户安全性解决方案
  11. 用 Truffle 插件自动在Etherscan上验证合约代码
  12. Scala 用Option[T] 避免NullPointerException
  13. 2022数学建模“五一杯”B题
  14. html创建站点文件夹,Dreamweaver站点中新建文件夹和修改/删除/移动文件的操作方法...
  15. PWM占空比,频率,周期之间关系
  16. python中怎么画一个机器猫_如何用Python画一只机器猫?
  17. 常用的python 开源 IDE
  18. jQuery三款简约MP3播放器插件
  19. html浮动之后怎么隐藏,div浮动之后排在一行,在把浮动去掉,把div用display设置成inline-block之后就不...
  20. linux下生成ssh密钥并获取密钥

热门文章

  1. Android攻击方式与安全分析
  2. Python基于内存缓存简单实现
  3. element-ui表格列宽度根据内容计算最小宽度min-width实现自适应参考
  4. DL4J模型训练Word2Vec
  5. ssm框架超市进销存后台管理系统java进货商品信息库存销售管理jsp源码erp数据库mysql
  6. 队列的应用——短信模拟
  7. Git使用技巧大全和技巧
  8. springboot webflux 过滤器(WebFilter)
  9. SimpleITK、pydicom的安装使用——踏上python生物医学图像处理的初学之路
  10. RequireJs小记