Installations
npm install @uni-helper/uni-use
Developer Guide
Typescript
Yes
Module System
ESM
Min. Node Version
>=18
Node Version
20.17.0
NPM Version
10.8.2
Score
47.9
Supply Chain
59.9
Quality
84.9
Maintenance
100
Vulnerability
94.1
License
Releases
Contributors
Unable to fetch Contributors
Languages
TypeScript (91.12%)
CSS (5.27%)
Vue (1.81%)
JavaScript (1.18%)
HTML (0.62%)
Developer
Download Statistics
Total Downloads
17,130
Last Day
5
Last Week
48
Last Month
729
Last Year
14,419
GitHub Statistics
141 Stars
280 Commits
16 Forks
5 Watching
3 Branches
16 Contributors
Bundle Size
73.71 kB
Minified
23.20 kB
Minified + Gzipped
Package Meta Information
Latest Version
0.19.14
Package Id
@uni-helper/uni-use@0.19.14
Unpacked Size
282.42 kB
Size
49.87 kB
File Count
8
NPM Version
10.8.2
Node Version
20.17.0
Publised On
04 Sept 2024
Total Downloads
Cumulative downloads
Total Downloads
17,130
Last day
-64.3%
5
Compared to previous day
Last week
-85.3%
48
Compared to previous week
Last month
-50%
729
Compared to previous month
Last year
502.5%
14,419
Compared to previous year
Daily Downloads
Weekly Downloads
Monthly Downloads
Yearly Downloads
Dependencies
2
Peer Dependencies
3
Dev Dependencies
26
@uni-helper/uni-use
uni-app (vue3)
组合式工具集。要求 node>=18
。
安装依赖
1npm install @uni-helper/uni-use @vueuse/core@9
如果你希望使用 @vueuse/core
v10,请参考 uni-app#4604。
yarn v2 或以上
请参考 文档 设置 nodeLinker
为 node_modules
。
pnpm
请参考 文档 设置 shamefully-hoist
为 true
。
目前没有支持 uni_modules
的计划,但欢迎 PR 贡献。
使用
详情请看 uni-use
函数列表
其它
限制
在小程序和移动应用环境下有如下无法避开的限制:
- 缺失某些全局变量(如
window
、navigator
等) - 必须使用
uni-app
提供的 API 实现功能(如拦截器、存储等),API 不支持的也就无法支持,比如拦截同步 API、监听其它地方引起的剪切板变化等 - 无法使用顶层
await
在开发网页时,建议直接使用 vue
,避免过多的环境判断代码,同时也能享受更好的生态,如 vueuse
的完整支持。
构建
目前 @uni-helper/uni-use
会使用 unbuild
将 uni
API 之外的部分转译到 ES2017
(即 ES8
)。uni
API 需要在项目构建时由 uni-app
官方提供的插件处理。
对于 vite + vue3
项目,请先设置 build.target
为 ES6
。
1import { defineConfig } from 'vite'; 2import uni from '@dcloudio/vite-plugin-uni'; 3 4// https://vitejs.dev/config/ 5export default defineConfig({ 6 build: { 7 target: 'es6', 8 cssTarget: 'chrome61', // https://cn.vitejs.dev/config/build-options.html#build-csstarget 9 }, 10 optimizeDeps: { 11 exclude: ['vue-demi'], 12 }, 13 plugins: [ 14 ..., 15 uni(), 16 ..., 17 ], 18});
然后在 src/main.ts
或 src/main.js
处自行添加 polyfill。以下是使用 core-js 的示例(需要自行安装 core-js
),你也可以使用 es-shims。
1import 'core-js/actual/array/iterator'; 2import 'core-js/actual/promise'; 3import 'core-js/actual/object/assign'; 4import 'core-js/actual/promise/finally'; 5// 你可以根据需要自行添加额外的 polyfills 6// import 'core-js/actual/object/values' 7import { createSSRApp } from 'vue'; 8import App from './App.vue'; 9 10export function createApp() { 11 const app = createSSRApp(App); 12 return { 13 app, 14 }; 15}
微信小程序的 JavaScript 支持度见 wechat-miniprogram/miniprogram-compat。微信小程序要支持 vue3
,需设置基础库最低版本为 2.11.2 或以上,2.11.2 对应 chrome>=53,ios>=10
。
和 unplugin-auto-import
结合使用
1// vite.config.ts 2import { fileURLToPath } from 'node:url'; 3import { defineConfig } from 'vitest/config'; 4import autoImport from 'unplugin-auto-import/vite'; 5import { uniuseAutoImports } from '@uni-helper/uni-use'; 6import uni from '@dcloudio/vite-plugin-uni'; 7 8// https://vitejs.dev/config/ 9export default defineConfig({ 10 plugins: [ 11 autoImport({ 12 imports: [ 13 uniuseAutoImports(), 14 ], 15 }), 16 uni({ ... }), 17 ], 18}); 19
EventBus
如果你想使用 EventBus
,请考虑使用 VueUse - useEventBus、mitt 或 nanoevents。这个库不再重复提供类似功能。
TypeScript
@uni-helper/uni-use
本身使用 TypeScript 开发,拥有类型提示。
资源
致谢
No vulnerabilities found.
No security vulnerabilities found.