Skip to content
Navigation

@lunarxyz/core

@lunarxyz/core 是一个基于 Vue3 Composition API 的组合式工具包,主要目的是简化 Lunarxyz App 相关生态在功能层面的开发成本。

使用这个包的时候,会假设你已经熟悉了 Composition API 的基本概念

当前版本:npm

安装

默认都是通过工程化项目引入,在使用之前,需要集成到你的项目依赖里:

bash
yarn add @lunarxyz/core

或者使用你更习惯的 npm :

bash
npm i @lunarxyz/core

TIP

这个包依赖 Vue 3 和部分集成的工具库( e.g. Axios ),不过不用担心,在安装的时候会把相关的依赖一并安装到项目里,无需手动操作。

唯一需要注意的是,请确保你的项目的 Vue 版本号 >= ^3.2.37 ,否则可能会有兼容问题。

按需引入

这是一个 Fully Tree Shakeable 的包(术语解释:Tree shaking )。

所以需要你在 .vue 组件或者 .js / .ts 文件里按需导入,这样编译器会在构建的时候丢弃没有被引用的模块,可以有效的减少打包后的项目体积。

vue
<script setup lang="ts">
// 这里的 `{ useRandom }` 就是按需导入需要的模块
import { useRandom } from '@lunarxyz/core'
</script>

在每个 API 的使用说明里都有具体的使用例子。

类型声明

这也是一个 Type Strong 的包,提供了完善的 TypeScript 类型声明。

使用 TS 友好的编辑器开发时( e.g. VSCode ),编辑器可以帮你自动推导每个 API 的类型。

当你不清楚具体用法的时候,也可以按住 Ctrl + 左键 点击 API 名称可以跳转到 .d.ts 文件查看声明及注释。

CDN

如果特殊情况下需要在手写的 HTML 页面里使用这个包,也可以通过 CDN 的方式引入:

  • 使用 UNPKG
html
<script src="https://unpkg.com/@lunarxyz/core"></script>
  • 使用 jsDelivr
html
<script src="https://cdn.jsdelivr.net/npm/@lunarxyz/core"></script>

CDN 引入的方式可以通过全局变量 lunarxyzCore 操作所有的 API 。

但需要注意的是,这个包在构建的时候进行了外部依赖的排除,因此在引入这个包的时候也必须引入对应依赖的 CDN ,并且保持在 @lunarxyz/core 前面。

例如要使用 useAxios ,则必须先引入 Axios 的 CDN ,使用 Vue 相关的也是如此:

html
<script src="https://unpkg.com/vue"></script>
<script src="https://unpkg.com/axios"></script>
<script src="https://unpkg.com/@lunarxyz/core"></script>

而使用独立实现的功能则无需引入其他库( e.g. useDataType )。

TIP

因为这个包集成的 Lodash 仅支持 ES 模块,所以不支持在 CDN 模式下使用 useLodash 方法,如果确实要用,请独立引入 Lodash 的 CDN 包并单独使用。

Released under the MIT License.