uniapp插件uViewplus的使用(涉及TS下的问题)

在技术选型后最后定了使用有团队维护的uview-plus3.0,官方文档

配置参考:https://juejin.cn/post/7169875753100640270

ts配置参考:https://blog.csdn.net/m0_70027114/article/details/132957426

引入

在项目文件的pages.json中的"easycom"."custom": 添加如下

复制代码
"easycom": {
	"autoscan": true,
	"custom": {
		......
		"^u--(.*)": "@/uni_modules/uview-plus/components/u-$1/u-$1.vue",
		"^up-(.*)": "@/uni_modules/uview-plus/components/u-$1/u-$1.vue",
		"^u-([^-].*)": "@/uni_modules/uview-plus/components/u-$1/u-$1.vue"
	}
},

main.js文件中引入插件

复制代码
// 引入全局uview-plus
 import uviewPlus from './uni_modules/uview-plus/index.js'

 const app = createSSRApp(App)
 app.use(uviewPlus)
 
 return {
  app
 }

TS相关

创建env.d.ts

复制代码
declare module '@/uni_modules/uview-plus';

并写入tsconfig.json

复制代码
{	
	"include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"],
	"typeRoots": [
		"@/env.d.ts"
	]
}

遇到的问题

我的vue3项目使用了ts,这个插件引入之后就开始报uni. u 属性不存在,但不影响运行。因为 u属性不存在,但不影响运行。 因为 u属性不存在,但不影响运行。因为u认不出来,他和下面的属性没有提示,书写起来不方便,容易写错。

参考了两个官方论坛的解决方案

https://ask.dcloud.net.cn/question/163482

https://ask.dcloud.net.cn/question/141695

编译器HBuilder3.99 是允许的

https://www.cnblogs.com/00544--/p/17097648.html

复制代码
declare module 'uview-plus' {  
  export function install(): void  //必要
  interface test {  
    /** 邮箱格式校验 */  
    email(email: string): boolean  
  }  
  interface $u {  
    test: test  
  }  

  global {  
    interface Uni {  
      $u: $u  
    }  
  }  
}

猜测需要将所有用到的类型一一注册,才能作为属性调用,uView的属性还挺多的,工程量有点大就没写

相关推荐
lbh16 小时前
当我开始像写代码一样和AI对话,一切都变了
前端·openai·ai编程
We་ct16 小时前
LeetCode 918. 环形子数组的最大和:两种解法详解
前端·数据结构·算法·leetcode·typescript·动态规划·取反
qq_4061761417 小时前
深入浅出 Pinia:Vue3 时代的状态管理新选择
javascript·vue.js·ecmascript
wefly201717 小时前
m3u8live.cn 在线M3U8播放器,免安装高效验流排错
前端·后端·python·音视频·前端开发工具
C澒17 小时前
微前端容器标准化 —— 公共能力篇:通用打印
前端·架构
德育处主任Pro18 小时前
前端元素转图片,dom-to-image-more入门教程
前端·javascript·vue.js
木斯佳18 小时前
前端八股文面经大全:小红书前端一二面OC(下)·(2026-03-17)·面经深度解析
前端·vue3·proxy·八股·响应式
陈天伟教授18 小时前
人工智能应用- 预测新冠病毒传染性:04. 中国:强力措施遏制疫情
前端·人工智能·安全·xss·csrf
zayzy18 小时前
前端八股总结
开发语言·前端·javascript
今天减肥吗18 小时前
前端面试题
开发语言·前端·javascript