https://marketplace.finclip.com/?utm_source=kol-cpc&utm_medium=uview&utm_campaign=docs

无需重构,一次开发多端运行!
uView Pro 支持 npm 和 uni_modules 两种主流安装方式,配置方式高度一致。无论采用哪种方式,均可通过 easycom 实现组件自动引入,极大提升开发效率。以下为统一的配置说明:
提示
确保你已经安装了 uView Pro,详见安装文档:uView Pro 安装
在 main.ts 中引入并注册 uView Pro:
import { createSSRApp } from 'vue'
import uViewPro from 'uview-pro'
export function createApp() {
const app = createSSRApp(App)
app.use(uViewPro)
return {
app
}
}import { createSSRApp } from 'vue'
import uViewPro from "@/uni_modules/uview-pro";
export function createApp() {
const app = createSSRApp(App)
app.use(uViewPro)
return {
app
}
}在 uni.scss 中引入主题样式:
@import 'uview-pro/theme.scss';@import "@/uni_modules/uview-pro/theme.scss";在 App.vue 首行引入基础样式:
@import "uview-pro/index.scss";@import "@/uni_modules/uview-pro/index.scss";有两种方案可自动引入组件:
在 pages.json 中配置 easycom 规则,实现组件自动引入:
{
"easycom": {
"autoscan": true,
"custom": {
"^u-(.*)": "uview-pro/components/u-$1/u-$1.vue"
}
},
"pages": [
// ...
]
}{
"easycom": {
"autoscan": true,
"custom": {
"^u-(.*)": "@/uni_modules/uview-pro/components/u-$1/u-$1.vue"
}
},
"pages": [
// ...
]
}注意
easycom 规则后需重启 HX 或重新编译项目。pages.json 中只有一个 easycom 字段,否则请自行合并多个规则。custom 内,否则无效。如果不想用 easycom,也可以通过 @uni-helper/vite-plugin-uni-components 实现组件的自动引入。
提醒
@uni-helper/vite-plugin-uni-components@0.2.3 及以上版本,因为在 0.2.3 版本开始其内置了 uView Pro 的 resolver,并支持了 npm、uni_modules 方式引入。Sourcemap for points to missing source files ,可以尝试将 Vite 版本升级至 4.5.x 以上版本。npm i @uni-helper/vite-plugin-uni-components -Dyarn add @uni-helper/vite-plugin-uni-components -Dpnpm add @uni-helper/vite-plugin-uni-components -D配置 vite.config.ts
// vite.config.ts
import { defineConfig } from 'vite'
import uni from '@dcloudio/vite-plugin-uni'
import Components from '@uni-helper/vite-plugin-uni-components'
import { uViewProResolver } from '@uni-helper/vite-plugin-uni-components/resolvers'
export default defineConfig({
plugins: [
// make sure put it before `Uni()`
Components({
resolvers: [uViewProResolver()]
}),
uni()
]
})// vite.config.ts
import { defineConfig } from 'vite'
import uni from '@dcloudio/vite-plugin-uni'
import Components from '@uni-helper/vite-plugin-uni-components'
import { uViewProResolver } from '@uni-helper/vite-plugin-uni-components/resolvers'
export default defineConfig({
plugins: [
// make sure put it before `Uni()`
Components({
resolvers: [uViewProResolver('@/uni_modules/uview-pro')]
}),
uni()
]
})提醒
uni_modules 配置方式:如果使用了 @ 符,务必配置别名 @ 到根目录!
如果你使用 pnpm ,请在根目录下创建一个 .npmrc 文件,参见 Issue。
// .npmrc
public-hoist-pattern[]=@vue*
// or
// shamefully-hoist = true如需在 CLI 项目中获得 Volar 的全局类型提示,请在 tsconfig.json 中添加:
{
"compilerOptions": {
// npm 方式
"types": ["uview-pro/types"]
// uni_modules 方式
// "types": ["@/uni_modules/uview-pro/types"]
}
}HBuilderX 项目暂不支持 tsconfig.json 的 types 配置,CLI 项目推荐配置以获得最佳 TS 体验。
配置完成后,无需 import 和 components 注册,可直接在 SFC 中使用 uView Pro 组件:
<template>
<u-button type="primary">按钮</u-button>
</template>