@uni-helper/uni-use
TypeScript icon, indicating that this package has built-in type declarations

0.19.14 • Public • Published

@uni-helper/uni-use

License npm

uni-app (vue3) 组合式工具集。要求 node>=18

安装依赖

npm install @uni-helper/uni-use @vueuse/core@9

如果你希望使用 @vueuse/core v10,请参考 uni-app#4604

yarn v2 或以上

请参考 文档 设置 nodeLinkernode_modules

pnpm

请参考 文档 设置 shamefully-hoisttrue

目前没有支持 uni_modules 的计划,但欢迎 PR 贡献。

使用

详情请看 uni-use函数列表

其它

限制

在小程序和移动应用环境下有如下无法避开的限制:

  • 缺失某些全局变量(如 windownavigator 等)
  • 必须使用 uni-app 提供的 API 实现功能(如拦截器、存储等),API 不支持的也就无法支持,比如拦截同步 API、监听其它地方引起的剪切板变化等
  • 无法使用顶层 await

在开发网页时,建议直接使用 vue,避免过多的环境判断代码,同时也能享受更好的生态,如 vueuse 的完整支持。

构建

目前 @uni-helper/uni-use 会使用 unbuilduni API 之外的部分转译到 ES2017(即 ES8)。uni API 需要在项目构建时由 uni-app 官方提供的插件处理。

对于 vite + vue3 项目,请先设置 build.targetES6

import { defineConfig } from 'vite';
import uni from '@dcloudio/vite-plugin-uni';

// https://vitejs.dev/config/
export default defineConfig({
  build: {
    target: 'es6',
    cssTarget: 'chrome61', // https://cn.vitejs.dev/config/build-options.html#build-csstarget
  },
  optimizeDeps: {
    exclude: ['vue-demi'],
  },
  plugins: [
    ...,
    uni(),
    ...,
  ],
});

然后在 src/main.tssrc/main.js 处自行添加 polyfill。以下是使用 core-js 的示例(需要自行安装 core-js),你也可以使用 es-shims

import 'core-js/actual/array/iterator';
import 'core-js/actual/promise';
import 'core-js/actual/object/assign';
import 'core-js/actual/promise/finally';
// 你可以根据需要自行添加额外的 polyfills
// import 'core-js/actual/object/values'
import { createSSRApp } from 'vue';
import App from './App.vue';

export function createApp() {
  const app = createSSRApp(App);
  return {
    app,
  };
}

微信小程序的 JavaScript 支持度见 wechat-miniprogram/miniprogram-compat。微信小程序要支持 vue3,需设置基础库最低版本为 2.11.2 或以上,2.11.2 对应 chrome>=53,ios>=10

unplugin-auto-import 结合使用

// vite.config.ts
import { fileURLToPath } from 'node:url';
import { defineConfig } from 'vitest/config';
import autoImport from 'unplugin-auto-import/vite';
import { uniuseAutoImports } from '@uni-helper/uni-use';
import uni from '@dcloudio/vite-plugin-uni';

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [
    autoImport({
      imports: [
        uniuseAutoImports(),
      ],
    }),
    uni({ ... }),
  ],
});

EventBus

如果你想使用 EventBus,请考虑使用 VueUse - useEventBusmittnanoevents。这个库不再重复提供类似功能。

TypeScript

@uni-helper/uni-use 本身使用 TypeScript 开发,拥有类型提示。

资源

致谢

Versions

Current Tags

VersionDownloads (Last 7 Days)Tag
0.19.14307latest

Version History

VersionDownloads (Last 7 Days)Published
0.19.14307
0.19.130
0.19.122
0.19.110
0.19.107
0.19.90
0.19.80
0.19.70
0.19.61
0.19.50
0.19.40
0.19.30
0.19.20
0.19.10
0.18.00
0.17.10
0.17.00
0.16.00
0.15.10
0.15.00
0.14.10
0.14.00
0.13.10
0.13.00
0.12.00
0.11.00
0.10.40
0.10.30
0.10.20
0.10.10
0.10.00
0.9.10
0.9.00

Package Sidebar

Install

npm i @uni-helper/uni-use

Weekly Downloads

317

Version

0.19.14

License

MIT

Unpacked Size

289 kB

Total Files

8

Last publish

Collaborators

  • zguolee
  • modyqyw
  • kejunmao