z-paging-wevu 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  面向 **weapp-vite + wevu + Vue SFC** 的 z-paging 兼容实现。保留 z-paging 的分页心智模型,同时针对微信小程序运行时处理事件参数、虚拟列表和布局差异。
4
4
 
5
- > 当前版本为 0.1.0,目标是微信小程序;nvue 专属渲染仅保留兼容入口。
5
+ > 当前版本为 0.1.1,目标是微信小程序;nvue 专属渲染仅保留兼容入口。
6
6
 
7
7
  ## 能力
8
8
 
@@ -20,14 +20,34 @@
20
20
  pnpm add z-paging-wevu wevu
21
21
  ```
22
22
 
23
- 也可以直接将 `src/components/z-paging-wevu/` 复制到项目的组件目录。
23
+ 在 `weapp-vite.config.ts` 中注册随包提供的 SFC 解析器:
24
+
25
+ ```ts
26
+ import { defineConfig } from 'weapp-vite'
27
+ import { ZPagingWevuResolver } from 'z-paging-wevu/resolver'
28
+
29
+ export default defineConfig({
30
+ weapp: {
31
+ autoImportComponents: {
32
+ resolvers: [ZPagingWevuResolver()],
33
+ vueComponents: true,
34
+ vueComponentsModule: 'wevu',
35
+ },
36
+ uniApp: {
37
+ include: ['z-paging-wevu'],
38
+ },
39
+ },
40
+ })
41
+ ```
42
+
43
+ 不要把 `z-paging-wevu` 加入 `weapp.npm.include`,否则原始 Vue SFC 会被交给普通 JavaScript 打包器。也可以直接将 `src/components/z-paging-wevu/` 复制到项目的组件目录。
24
44
 
25
45
  ## 快速开始
26
46
 
27
47
  ```vue
28
48
  <script setup lang="ts">
29
49
  import { ref } from 'wevu'
30
- import ZPagingWevu, { createPagingController } from 'z-paging-wevu'
50
+ import { createPagingController } from 'z-paging-wevu/controller'
31
51
 
32
52
  const items = ref<Record<string, unknown>[]>([])
33
53
  const paging = createPagingController()
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "z-paging-wevu",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "面向 weapp-vite + wevu 的 z-paging 兼容分页组件",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -37,10 +37,16 @@
37
37
  "./props": {
38
38
  "types": "./src/components/z-paging-wevu/props.ts",
39
39
  "default": "./src/components/z-paging-wevu/props.ts"
40
+ },
41
+ "./resolver": {
42
+ "types": "./resolver.d.ts",
43
+ "default": "./resolver.mjs"
40
44
  }
41
45
  },
42
46
  "files": [
43
47
  "src",
48
+ "resolver.mjs",
49
+ "resolver.d.ts",
44
50
  "README.md",
45
51
  "LICENSE"
46
52
  ],
package/resolver.d.ts ADDED
@@ -0,0 +1,14 @@
1
+ export interface ZPagingWevuResolveResult {
2
+ name: 'ZPagingWevu'
3
+ from: 'z-paging-wevu/component'
4
+ resolvedId: 'z-paging-wevu/component'
5
+ sourceType: 'wevu-sfc'
6
+ typeImport: false
7
+ }
8
+
9
+ export interface ZPagingWevuResolver {
10
+ components: Readonly<Record<'ZPagingWevu', 'z-paging-wevu/component'>>
11
+ resolve: (name: string) => ZPagingWevuResolveResult | undefined
12
+ }
13
+
14
+ export declare function ZPagingWevuResolver(): ZPagingWevuResolver
package/resolver.mjs ADDED
@@ -0,0 +1,21 @@
1
+ const componentName = 'ZPagingWevu'
2
+ const componentEntry = 'z-paging-wevu/component'
3
+
4
+ /** 将 npm 包中的 Vue SFC 交给 weapp-vite 的 wevu 模板编译链路。 */
5
+ export function ZPagingWevuResolver() {
6
+ return {
7
+ components: Object.freeze({ [componentName]: componentEntry }),
8
+ resolve(name) {
9
+ if (name !== componentName) {
10
+ return
11
+ }
12
+ return {
13
+ name,
14
+ from: componentEntry,
15
+ resolvedId: componentEntry,
16
+ sourceType: 'wevu-sfc',
17
+ typeImport: false,
18
+ }
19
+ },
20
+ }
21
+ }