下面给你 vue-cli 模式下安装 uni-ui 的最详细步骤教程(从 0 到能使用),无坑可避坑,直接能跑。
✅ vue-cli 模式下安装 uni-ui 的详细过程
⚠️ 前提说明:
uni-ui 虽然是 uni-app 官方 UI 组件库,但 任何基于 Vue 的项目都可以使用,包括 Vue CLI、Vite、Nuxt 等。
但只有在 uni-app 项目 中(HBuilderX 或 vue-cli 模式)才能自动适配小程序、H5、App 等平台。
📌 一、准备环境
你的项目应当是 使用 vue-cli 创建的 uni-app 项目:
vue create -p dcloudio/uni-preset-vue my-uni-app
如果你已经有一个项目,可跳过。
📌 二、安装 uni-ui(方式一:npm 安装)— 推荐
在项目根目录执行:
npm i @dcloudio/uni-ui
或使用 yarn:
yarn add @dcloudio/uni-ui
📌 三、自动按需加载(最推荐方式)
安装插件:
npm i -D @dcloudio/uni-ui-nvue-styler
然后在 main.js 引入:
import Vue from 'vue'
import App from './App'
import uni from '@dcloudio/uni-ui'
Vue.use(uni)
new Vue({
...App
}).$mount()
Done!
📌 四、手动按需引入组件(可选)
比如使用 uni-button:
import uniButton from '@dcloudio/uni-ui/lib/uni-button/uni-button.vue'
export default {
components: {
uniButton
}
}
模板中直接使用:
<uni-button type="primary">按钮</uni-button>
📌 五、支持自动组件扫描(uni-app 内置功能)
uni-ui 属于官方组件,不需要额外配置插件,编译器会自动识别。
例如你在页面中直接写:
<template>
<view>
<uni-card title="标题" extra="更多">
内容内容内容
</uni-card>
</view>
</template>
不需要 import,编译器会直接帮你引入。
📌 六、HBuilderX 与 vue-cli 区别(重点)
| 功能 | vue-cli 模式 | HBuilderX 模式 |
|---|---|---|
| uni-ui 引入方式 | 需要安装 npm 包 | 打开插件即可 |
| 是否自动按需引入 | ✔️ 支持 | ✔️ 内置 |
| 需不需要 import | 不需要(编译器自动处理) | 不需要 |
📌 七、测试是否安装成功
随便创建一个页面:pages/index/index.vue
<template>
<view class="content">
<uni-section title="测试 uni-ui" sub-title="这是第一段" type="line"></uni-section>
<uni-card title="卡片标题" extra="更多">
Hello uni-ui!
</uni-card>
<uni-button type="primary">主按钮</uni-button>
</view>
</template>
运行:
npm run dev:%PLATFORM%
例如:
npm run dev:mp-weixin
npm run dev:h5
看到组件正常显示,即成功。
📌 八、常见问题(必看)
❗1. 提示组件未找到
原因:没有安装 @dcloudio/uni-ui
解决:
npm i @dcloudio/uni-ui
❗2. 小程序端报 “Component is not found”
请检查:pages.json 是否正确配置页面。
❗3. 使用 nvue 时样式不生效
执行:
npm i -D @dcloudio/uni-ui-nvue-styler
并重启项目。
📌 九、完整示例 Demo
给你一个最小可运行示例:
<template>
<view>
<uni-card title="欢迎" extra="更多">
uni-ui 在 vue-cli 模式成功运行!
</uni-card>
<uni-button type="primary" @click="handleClick">
点击测试
</uni-button>
</view>
</template>
<script>
export default {
methods: {
handleClick() {
uni.showToast({
title: "成功",
icon: "success"
})
}
}
}
</script>
🎉 总结
你只需要:
npm install @dcloudio/uni-ui- 在页面中直接使用
<uni-xxx>标签
就能在 vue-cli 模式的 uni-app 中使用全部 uni-ui 组件。