minidev 1.0.3 → 1.0.7

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.
Files changed (37) hide show
  1. package/assets/web-sim/devtool/index.html +18 -0
  2. package/assets/web-sim/devtool/main.js +2 -0
  3. package/assets/web-sim/devtool/main.js.LICENSE.txt +47 -0
  4. package/assets/web-sim/index.html +17 -0
  5. package/assets/web-sim/main.js +2 -0
  6. package/assets/web-sim/main.js.LICENSE.txt +82 -0
  7. package/assets/web-sim/simulator/index.html +18 -0
  8. package/assets/web-sim/simulator/main.js +2 -0
  9. package/assets/web-sim/simulator/main.js.LICENSE.txt +67 -0
  10. package/docs/guide/base/cli.md +37 -0
  11. package/docs/guide/base/node-js-api.md +31 -0
  12. package/docs/guide/base/quick-start.md +135 -0
  13. package/docs/guide/commands/build.md +103 -0
  14. package/docs/guide/commands/config.md +79 -0
  15. package/docs/guide/commands/dev-daemon-commands/ide.md +70 -0
  16. package/docs/guide/commands/dev-daemon-commands/preview.md +54 -0
  17. package/docs/guide/commands/dev-daemon-commands/remote-debug.md +63 -0
  18. package/docs/guide/commands/dev-daemon-commands/web.md +110 -0
  19. package/docs/guide/commands/dev.md +150 -0
  20. package/docs/guide/commands/download-assets.md +48 -0
  21. package/docs/guide/commands/ide.md +117 -0
  22. package/docs/guide/commands/index.md +19 -0
  23. package/docs/guide/commands/login.md +53 -0
  24. package/docs/guide/commands/preview.md +121 -0
  25. package/docs/guide/commands/remote-debug.md +137 -0
  26. package/docs/guide/commands/upload.md +95 -0
  27. package/docs/guide/experiences/auth.md +65 -0
  28. package/docs/guide/experiences/client-type.md +16 -0
  29. package/docs/guide/experiences/config.md +127 -0
  30. package/docs/guide/experiences/sandbox.md +12 -0
  31. package/docs/guide/experiences/scene.md +33 -0
  32. package/index.d.ts +65 -7
  33. package/lib/index.js +1 -1
  34. package/lib/index.js.LICENSE.txt +195 -0
  35. package/lib/worker.js +2 -0
  36. package/lib/worker.js.LICENSE.txt +14 -0
  37. package/package.json +8 -6
@@ -0,0 +1,110 @@
1
+ ---
2
+ slug: dev-web
3
+ ---
4
+ # web
5
+
6
+ ## 用途
7
+ 启动开发服务器 Dev Server 之后,运行并打开 Web 版调试器和模拟器。
8
+
9
+ ## CLI 风格使用
10
+
11
+ ````shell
12
+ # minidev dev 运行之后
13
+ # 界面会显示
14
+
15
+ # 可以继续执行以下命令 (可以通过 指令名 -h 来查看参数)
16
+
17
+ # - preview : 使用模拟器产物发起真机预览 (此模式仅整包, 无法验证分包可用性)
18
+ # - remote-debug : 使用模拟器产物发起真机调试 (此模式仅整包)
19
+ # - ide : 启动小程序开发者工具模拟器进行调试
20
+ # - web : 启动 Web 模拟器(本地)
21
+
22
+ # 此时输入
23
+
24
+ web
25
+
26
+ ````
27
+
28
+ 可以添加的参数
29
+
30
+ ````
31
+ Options:
32
+ --auto-open [可选] 自动打开模拟器, 默认开启 (default: true)
33
+ -a, -app-id <appId> [可选] 小程序应用 id
34
+ --page <page> [可选] 入口页面
35
+ --page-query <page> [可选] 页面参数, 可在当前页面的 onLoad 中取得,如: name=vendor&color=black
36
+ --query <page> [可选] 全局参数,app.js 的 onLaunch 中取得,如: name=vendor&color=black
37
+ --scene <page> [可选] 进入场景值
38
+
39
+ ````
40
+
41
+ ## Node.js API 风格使用
42
+
43
+ ````javascript
44
+
45
+ // 调用前必须先有 devServer
46
+ // const devServerBuild = await minidev.dev({project: 'path/to/project'});
47
+
48
+ devServerBuild.devServer.once('done', () => {
49
+ // devServer 构建完成后启动 ide
50
+ const { bundled, separated } = await minidev.devWebSimulator({
51
+ appId:'yourAppId',
52
+ autoOpen:false
53
+ }, devServerBuild);
54
+
55
+ // bundled 中是 web 版本模拟器 & 调试器的地址, 一般来说打开这个地址运行
56
+ console.log(bundled)
57
+
58
+ // separated 中是分离的模拟器和调试器的地址,可以用于更复杂的场景进行集成
59
+ // 注意:使用时请为每个会话将 url 中的 __uuid__ 替换成模拟器和调试器一致的 uuid。
60
+ console.log(separated)
61
+
62
+ });
63
+
64
+ ````
65
+
66
+ ## 参数说明
67
+
68
+ ### autoOpen
69
+ ```Typescript
70
+ autoOpen: boolean
71
+ ```
72
+
73
+ 是否自动打开模拟器和调试器, 默认开启
74
+
75
+ ### page
76
+
77
+ ### page
78
+ ````Typescript
79
+ page: string
80
+ ````
81
+
82
+
83
+ 启动模拟器的的入口页面路径。 例: `/page/index/index`.
84
+
85
+
86
+ ### pageQuery
87
+
88
+ ````Typescript
89
+ pageQuery: string
90
+ ````
91
+
92
+
93
+ 启动模拟器的的页面参数。可在当前页面的 onLoad 中取得,例: `name=vendor&color=black`
94
+
95
+ ### query
96
+ ````Typescript
97
+ query: string
98
+ ````
99
+
100
+
101
+ 启动模拟器的的全局参数。 可在 app.js 的 onLaunch 中取得,例: `name=vendor&color=black`
102
+
103
+ ### scene
104
+
105
+ ````Typescript
106
+ scene: string
107
+ ````
108
+ 启动模拟器的场景值。 输入值为场景的 channelId。例: `ch_appcenter`
109
+
110
+ 可选值可参考[支持的场景值](../../../guide/experiences/scene.md)。
@@ -0,0 +1,150 @@
1
+ # dev
2
+
3
+ ## 用途
4
+
5
+ 启动开发服务器 Dev Server
6
+
7
+ > ### Dev Server
8
+ > 小程序构建 Dev Server 会对小程序源码目录进行持续的文件监听,当用户对源码进行修改时,及时地生成对应的小程序源码,并启动一个 HTTP 服务允许对产物进行访问。基于此项技术,可以减少代码变更后需要进行完整小程序编译的耗时,提升开发效率。
9
+
10
+ ## CLI 风格使用
11
+
12
+ ````shell
13
+ Usage: minidev dev [options]
14
+
15
+ 启动开发服务器 DevServer
16
+
17
+ Options:
18
+ --hmr [可选] 是否开启 HMR
19
+ --host <host> [可选] 指定 Host,默认 Host 为 127.0.0.1
20
+ --port <port> [可选] 本地服务的端口号
21
+ --appxv <appxv> [可选] 构建类别,可选值为 v1, v2, legacy-v1 (choices: "v1", "v2", "legacy-v1")
22
+ --cacheDir <cacheDir> [可选] 指定构建缓存路径, 默认为系统缓存路径
23
+ --less [可选] 启用 less 编译
24
+ --typescript [可选] 启用 typescript 编译
25
+ --minify [可选] 是否需要压缩,默认不开
26
+ --ng [ng] [可选] (待废弃) 一键设置使用 Appx 2.0,--appxv 优先级更高
27
+ -o, --output <output> [可选] 产物路径
28
+ --parallel [parallel] [可选] 多进程编译
29
+ --pluginId <pluginId> [可选] 插件 Id,构建插件时将生成到代码中
30
+ --source-map [可选] 是否产出 sourceMap (default: true)
31
+ -p, --project <project> [可选] 目标项目, 默认为当前工作目录
32
+ --machine-output [可选] 机器可读输出(只显示最终结果)
33
+ -a, --app-id <appId> [可选] > preview 小程序应用 id
34
+ --auto-push [可选] > preview 自动推送到客户端, 默认打开, 使用 --no-auto-push 来关闭 (default: true)
35
+ --ignore-http-domain-check [可选] > preview 忽略 http 请求白名单校验
36
+ --ignore-webview-domain-check [可选] > preview 忽略 webview 加载域名白名单校验
37
+ --bundle-id <bundleId> [可选] > preview <高级> 开放平台 bundleId, 此项会覆盖 clientType 的效果
38
+ -c, --client-type <clientType> [可选] > preview 端类型 (choices: "alipay", "ampe", "amap", "genie", "alios", "alipayiot", "uc", "quark", "health", "koubei", "taobao", "cainiao", "alihealth", "OTT_CIBN",
39
+ "OTT_TAITAN")
40
+ --page <page> [可选] > preview 入口页面
41
+ --page-query <page> [可选] > preview 页面参数, 可在当前页面的 onLoad 中取得,如: name=vendor&color=black
42
+ --query <page> [可选] > preview 全局参数,app.js 的 onLaunch 中取得,如: name=vendor&color=black
43
+ --scene <page> [可选] > preview 进入场景值
44
+ --simulate-update [可选] > preview 模拟更新
45
+ --ampe-device-id <ampeDeviceId> [可选] > preview [AMPE] 设备 ID
46
+ --ampe-host-app-id <ampeHostAppId> [可选] > preview [AMPE] 产品 ID
47
+ --ampe-product-id <ampeProductId> [可选] > preview [AMPE] 移动应用 ID
48
+ --app-path [可选] > ide IDE 安装路径
49
+ 示例:MacOS: /Applications/小程序开发者工具.app
50
+ Windows: C:\Program Files\小程序开发者工具
51
+ --lite [可选] > ide 使用 Lite 模式启动 IDE
52
+ --project-type [可选] > ide 项目类型
53
+ --auto-open [可选] > web 自动打开模拟器, 默认开启 (default: true)
54
+ ````
55
+
56
+ ## Node.js API 风格使用
57
+
58
+ ````javascript
59
+
60
+ // 启动一个 devServer
61
+ const { devServer } = await minidev.dev({
62
+ project: '/path/to/project'
63
+ });
64
+ // 注意此时 devServer 还未编译完成
65
+
66
+ // 添加编译完成的监听
67
+ devServer.on('done', () => {
68
+ console.log('编译完成');
69
+ console.log(devServer.server);
70
+ });
71
+
72
+ devServer.on('error', (error) => {
73
+ console.log('编译失败, 错误信息:', error.message);
74
+ });
75
+
76
+ devServer.on('exit', (code) => {
77
+ console.log('DevServer 进程退出, 退出code', code);
78
+ });
79
+
80
+ devServer.on('log', (data) => {
81
+ console.log('[devServer日志]', data);
82
+ });
83
+
84
+ ````
85
+
86
+ ## 后续指令
87
+
88
+ devServer 服务器启动并**编译完成后**,可以基于 devServer 的构建产物继续执行后续指令, 目前支持的指令有:
89
+
90
+ - [ide](../../guide/commands/dev-daemon-commands/ide.md) 启动 IDE Lite 模式进行模拟器调试
91
+ - [web](../../guide/commands/dev-daemon-commands/web.md) 启动 web 版本模拟器进行调试
92
+ - [preview](../../guide/commands/dev-daemon-commands/preview.md) 使用模拟器的产物进行真机预览(快速真机预览)
93
+ - [remote-debug](../../guide/commands/dev-daemon-commands/remote-debug.md) 使用模拟器的产物进行真机调试(快速真机调试)
94
+
95
+
96
+ > ### Tip: 提前输入参数
97
+ > minidev dev -h 中展示的参数以 > xxxx 开头的为后续指令消费的参数,为了方便可以在 dev 指令启动时提前输入,这样就无需在每次进行后续指令时键入。
98
+ >
99
+ > ``
100
+ > --ignore-webview-domain-check [可选] > preview 忽略 webview 加载域名白名单校验
101
+ > ``
102
+ >
103
+ > 如上面这个就是后续真机预览 preview 指令会消费的参数,我们可以在启动 dev 指令时输入
104
+ >
105
+ > ``
106
+ > minidev dev --ignore-webview-domain-check
107
+ > ``
108
+ >
109
+ > 这样后续输入的所有 preview 指令都会忽略 webview 的白名单校验
110
+
111
+
112
+
113
+ ## 参数说明
114
+
115
+ ### hmr
116
+
117
+ 是否开启代码热更新(默认关闭)
118
+
119
+ > 在使用 IDE 模拟器或者web版本模拟器时,如果代码热更新启用,修改 axml,acss 和某些 js 代码时,如果条件允许,将不会完全刷新当前页面,而仅仅进行局部的小粒度更新,在快速调整样式和简单逻辑时较为方便。
120
+
121
+ ### host
122
+
123
+ Dev Server 提供的 HTTP 服务的 host 地址,默认为 127.0.0.1
124
+
125
+ ### port
126
+
127
+ Dev Server 提供的 HTTP 服务的端口号,默认为随机可用端口
128
+
129
+ ### appxv
130
+
131
+ 同 [build指令](../../guide/commands/build.md) 中同名参数
132
+
133
+ ### cacheDir
134
+
135
+ 同 [build指令](../../guide/commands/build.md) 中同名参数
136
+
137
+ ### minify
138
+
139
+ 同 [build指令](../../guide/commands/build.md) 中同名参数
140
+
141
+ ### ng
142
+
143
+ 同 [build指令](../../guide/commands/build.md) 中同名参数
144
+
145
+ ### output
146
+
147
+ 同 [build指令](../../guide/commands/build.md) 中同名参数
148
+
149
+ ### sourceMap
150
+ 同 [build指令](../../guide/commands/build.md) 中同名参数
@@ -0,0 +1,48 @@
1
+ # download-assets
2
+
3
+ ## 用途
4
+
5
+ 下载支付宝小程序 CLI 将会用到的资源文件。
6
+
7
+ 除非添加了 `--clean-previous`参数,重复执行这个指令不会重复下载已下载过的资源文件。
8
+
9
+ > 支付宝小程序 CLI (minidev) 在 postinstall 过程中会默认执行 download-assets 指令下载所需的离线资源包。
10
+ >
11
+ > 下载的资源包默认保存在用户目录下的 `.minidev/assets` 文件夹内。
12
+ >
13
+ > 如果需要将 minidev 在离线环境或者网络隔离环境内使用,可以在网络通畅时手动执行
14
+ > `minidev download-assets --with-compiler`
15
+ > 来保证离线使用时不会再尝试请求资源。
16
+
17
+ ## CLI 风格使用
18
+
19
+ ````
20
+ Usage: minidev download-assets [options]
21
+
22
+ 下载离线资源包
23
+
24
+ Options:
25
+ --clean-previous [可选] 清除已有下载的离线资源,重新下载
26
+ --with-compiler [可选] 同时下载构建器
27
+ ````
28
+
29
+ ## Node.js API 风格使用
30
+
31
+ ```` javascript
32
+
33
+ minidev.downloadAllAssets({
34
+ withCompiler: true
35
+ })
36
+
37
+ ````
38
+
39
+ ## 参数说明
40
+
41
+ ### cleanPrevious
42
+
43
+ 清除已有下载的离线资源,重新下载
44
+
45
+ ### withCompiler
46
+
47
+ 由于构建器资源较大和版本变化,默认在安装 (postinstall) 时不会尝试下载构建器,仅仅会在启用需要构建器的命令(如 dev, build 等) 时才会尝试下载构建。添加这个参数来在下载离线资源的同时下载构建器。
48
+
@@ -0,0 +1,117 @@
1
+ ---
2
+ slug: ide
3
+ ---
4
+ # ide
5
+
6
+ ## 用途
7
+
8
+ 启动小程序开发者工具(要求小程序开发者工具版本 >= 2.3)
9
+
10
+
11
+ ## CLI 风格使用
12
+
13
+ ````shell
14
+ Usage: minidev ide [options]
15
+
16
+ 启动IDE
17
+
18
+ Options:
19
+ --app-path [可选] IDE 安装路径
20
+ 示例:MacOS: /Applications/小程序开发者工具.app
21
+ Windows: C:\Program Files\小程序开发者工具
22
+ --lite [可选] 使用 Lite 模式启动 IDE
23
+ --project-type [可选] 项目类型
24
+ -p, --project <project> [可选] 目标项目, 默认为当前工作目录
25
+ --machine-output [可选] 机器可读输出(只显示最终结果)
26
+ -h, --help display help for command
27
+ ````
28
+
29
+ ## Node.js API 风格使用
30
+
31
+ ````javascript
32
+ minidev.startIde({
33
+ project: '/path/to/project',
34
+ lite: true,
35
+ });
36
+ ````
37
+
38
+ ## 参数说明
39
+
40
+ ### appPath
41
+
42
+ ````Typescript
43
+ appPath: string
44
+ ````
45
+
46
+ 支付宝小程序开发者工具的安装路径, MacOS 和 Windows 指向默认地址示例:
47
+
48
+ - `MacOS`: /Applications/小程序开发者工具.app
49
+ - `Windows`: C:\Program Files\小程序开发者工具
50
+
51
+ 如果不传入此参数,会使用上述的默认地址尝试查找小程序开发者工具,如果没办法找到可用的 IDE,会抛出错误。
52
+
53
+ ### projectType
54
+
55
+ ````Typescript
56
+ projectType: string
57
+ ````
58
+
59
+ 对应打开的小程序项目类型, 如果不传入,默认使用支付宝小程序类型打开
60
+
61
+ 常用小程序项目类型列表可选值:
62
+
63
+ - `alipay-mini` 支付宝小程序
64
+ - `alipay-mini-plugin` 支付宝小程序插件
65
+ - `dingtalk-biz` 钉钉企业内部应用
66
+ - `dingtalk-biz-custom` 钉钉企业定制应用
67
+ - `dingtalk-biz-isv` 钉钉第三方企业应用
68
+ - `dingtalk-biz-worktab-plugin` 钉钉工作台组件
69
+ - `dingtalk-personal` 钉钉第三方个人应用
70
+ - `alios-project` 阿里车小程序
71
+ - `com.alipay.koubeimerchant` 口碑掌柜小程序
72
+ - `com.cainiao.app` 橙运小程序
73
+ - `com.cainiao.cs.app` 包裹侠小程序
74
+ - `com.cainiao.edgeboxapp` 小Yi工作台小程序
75
+ - `com.cainiao.station.app` 驿站掌柜小程序
76
+ - `com.cainiao.station.dfs` 海南自提点小程序
77
+ - `com.cainiao.station.hk` 香港自提点小程序
78
+ - `com.cainiao.station.sto` 喵站喵站
79
+ - `com.cainiao.wireless` 菜鸟裹裹小程序
80
+ - `com.dwd.rider.app` 点我达小程序
81
+ - `com.taobao.movie.tinyside` 淘票票小程序
82
+ - `com.uc.app.localDebugProjectType` UC小程序
83
+ - `ALIDATA-mini` 阿里数据小程序
84
+ - `ALIDATA-mini-appx-2.0` 阿里数据AppX 2.0小程序
85
+ - `alihealth-mini-plugin` 阿里医院小程序插件
86
+ - `com.youku.app` 优酷小程序
87
+ - `exclusive-dingtalk-card` 专有钉钉工作台组件
88
+ - `exclusive-dingtalk-personal` 专有钉钉标准小程序
89
+ - `exclusive-dingtalk-personal-mpaas` 专有钉钉mPaaS小程序
90
+ - `gaode-mini` 高德小程序
91
+ - `gaode-mini-plugin` 高德小程序插件
92
+ - `hk-mini` 香港版支付宝小程序
93
+ - `kcatering-miniapp` 客如云KPOS餐饮小程序
94
+ - `kcatering-miniapp-plugin` 客如云KPOS餐饮小程序插件
95
+ - `klauncher-miniapp` 客如云POS桌面小程序
96
+ - `klauncher-miniapp-plugin` 客如云POS桌面小程序插件
97
+ - `kmobile-miniapp` 掌上客如云小程序
98
+ - `kmobile-miniapp-plugin` 掌上客如云小程序插件
99
+ - `koubei-mini` 口碑小程序
100
+ - `koubei-mini-plugin` 口碑小程序插件
101
+ - `mPaaS` mPaaS小程序
102
+ - `quark-mini-plugin` Quark小程序插件
103
+ - `tgcc-project` 天猫精灵小程序
104
+ - `tmall-genie-app-standard-miniapp` 天猫精灵APP小程序
105
+ - `tmall-genie-app-standard-miniapp-plugin` 天猫精灵APP小程序插件
106
+ - `uc-mini-plugin` UC小程序插件
107
+ - `xiniaoMiniProgram` 溪鸟溪鸟
108
+ - `xpaas-mini` 支付宝 IoT小程序
109
+ - `xpaas-mini-plugin` 支付宝 IoT小程序插件
110
+ - `youku-mini-plugin` 优酷小程序插件"
111
+
112
+ ### lite
113
+ ````Typescript
114
+ lite: boolean
115
+ ````
116
+
117
+ 是否使用 [Lite 模式](https://opendocs.alipay.com/mini/ide/idelite) 启动 IDE,此场景下默认为 false
@@ -0,0 +1,19 @@
1
+ ---
2
+ slug: command-index
3
+ title: 指令列表
4
+ ---
5
+
6
+ ## 小程序开发
7
+
8
+ * [build](./build.md)
9
+ * [dev](./dev.md)
10
+ * [preview](./preview.md)
11
+ * [remote-debug](./remote-debug.md)
12
+ * [upload](./upload.md)
13
+ * [ide](./ide.md)
14
+
15
+ ## CLI 工具管理
16
+
17
+ * [login](./login.md)
18
+ * [download-assets](./download-assets.md)
19
+ * [config](./config.md)
@@ -0,0 +1,53 @@
1
+ ---
2
+ slug: command-login
3
+ title: login
4
+ ---
5
+
6
+ ## 用途
7
+
8
+ 对工具进行快捷授权
9
+
10
+ ## CLI 调用方法
11
+
12
+ ````shell
13
+ Usage: minidev login [options]
14
+
15
+ 进行工具授权
16
+ ````
17
+
18
+ ## Node.js API 调用方法
19
+
20
+
21
+ ````javascript
22
+
23
+ // minidev.login() 返回的 promise resolve 代表登录完成,如过登录失败,会 reject
24
+ await minidev.login({
25
+ project: 'path/to/mini-program'
26
+ }, (loginTask) => {
27
+ // Node.js API 方式可以通过第二个参数获取 loginTask 以便后续展示等
28
+ loginTask.on('qrcode-generated', (qrcodeUrl) => {
29
+ // 已获取登录图片,进行后续展示
30
+ console.log(qrcodeUrl);
31
+ });
32
+
33
+ loginTask.on('polling', (remainingMs) => {
34
+ console.log(`二维码过期时间: ${Math.floor(remainingMs / 1000)}s`);
35
+ })
36
+
37
+ loginTask.on('success', (remainingMs) => {
38
+ console.log(`完成授权`);
39
+ })
40
+
41
+ loginTask.on('scan', (remainingMs) => {
42
+ console.log(`已扫描, 请在手机上确认`);
43
+ })
44
+
45
+ })
46
+ ````
47
+
48
+ ## 注意事项
49
+
50
+ 参见 [授权信息使用注意事项](../../guide/experiences/auth.md)
51
+
52
+
53
+
@@ -0,0 +1,121 @@
1
+ # preview
2
+
3
+ ## 用途
4
+
5
+ 构建小程序并发起真机预览。
6
+
7
+ 运行后,支付宝小程序 CLI 将会构建可以在手机 App (如支付宝钱包)中使用的预览版小程序,并将其发布到支付宝开放平台供手机 App 访问。
8
+
9
+ ![](https://intranetproxy.alipay.com/skylark/lark/0/2021/png/111910/1638457569239-7fb20881-2083-4f21-940a-8135acf69e13.png?x-oss-process=image%2Fresize%2Cw_1284%2Climit_0)
10
+
11
+ 运行成功后,将会返回可供手机 App 扫描的小程序预览二维码,使用对应手机 App 扫码即可查看小程序。部分 App 支持自动同步小程序到手机 App 中,无需进行扫码操作。
12
+
13
+ > 使用该指令要求工具进行[授权](../../guide/experiences/auth.md)
14
+ ## CLI 风格使用
15
+
16
+ ````
17
+ Usage: minidev preview [options]
18
+
19
+ 发起真机预览
20
+
21
+ Options:
22
+ --auto-push [可选] 自动推送到客户端, 默认打开, 使用 --no-auto-push 来关 (default: true)
23
+ --ignore-http-domain-check [可选] 忽略 http 请求白名单校验
24
+ --ignore-webview-domain-check [可选] 忽略 webview 加载域名白名单校验
25
+ -a, --app-id <appId> [必填] 小程序应用 id
26
+ -c, --client-type <clientType> [可选] 端类型
27
+ --page <page> [可选] 入口页面
28
+ --page-query <page> [可选] 页面参数, 可在当前页面的 onLoad 中取得,如: name=vendor&color=black
29
+ --query <page> [可选] 全局参数,app.js 的 onLaunch 中取得,如: name=vendor&color=black
30
+ --scene <page> [可选] 进入场景值
31
+ ````
32
+
33
+ ## Node.js API 风格使用
34
+
35
+ ````javascript
36
+
37
+ const { qrcodeSchema, qrcodeUrl, version } = await minidev.preview({
38
+ appId: 'YourAppId',
39
+ project: '/path/to/mini-program',
40
+ })
41
+
42
+ // 预览二维码图片地址
43
+ console.log(qrcodeUrl);
44
+
45
+ // 预览 schema url,允许手机 App 通过这个 url 唤起预览小程序
46
+ console.log(qrcodeSchema);
47
+
48
+ // 生成的临时版本号,对于插件项目可以用于宿主进行插件联调
49
+ console.log(version);
50
+
51
+ ````
52
+
53
+
54
+ ## 参数说明
55
+
56
+ ### appId
57
+ ````Typescript
58
+ appId: string
59
+ ````
60
+ 本次真机预览使用的小程序 App Id。
61
+
62
+ ### clientType
63
+ ````Typescript
64
+ clientType: string
65
+ ````
66
+
67
+ 指定真机预览的目标端类型,默认为 alipay (支付宝),详见[端类型](../../guide/experiences/client-type.md)。
68
+
69
+ ### autoPush
70
+ ````Typescript
71
+ autoPush: boolean
72
+ ````
73
+
74
+ 如果指定的端(手机 App) 支持,则尝试将预览的小程序直接推送到端,无需进行扫码操作。 此功能默认开启。
75
+
76
+ ### ignoreHttpDomainCheck
77
+ ````Typescript
78
+ ignoreHttpDomainCheck: boolean
79
+ ````
80
+
81
+ 此次真机预览的小程序运行时忽略 http 请求白名单校验。详见 [小程序网络 API 使用须知](https://opendocs.alipay.com/mini/008gq6)
82
+
83
+
84
+ ### ignoreWebviewDomainCheck
85
+ ````Typescript
86
+ ignoreWebviewDomainCheck: boolean
87
+ ````
88
+
89
+ 此次真机预览的小程序运行时忽略 web-view 组件加载域名白名单校验。详见[ web-view 组件 H5 域名配置](https://opendocs.alipay.com/mini/component/idfvg6)
90
+
91
+ ### page
92
+ ````Typescript
93
+ page: string
94
+ ````
95
+
96
+ 本次预览的入口页面路径。 例: `/page/index/index`.
97
+
98
+
99
+ ### pageQuery
100
+
101
+ ````Typescript
102
+ pageQuery: string
103
+ ````
104
+
105
+ 本次预览的页面参数。可在当前页面的 onLoad 中取得,例: `name=vendor&color=black`
106
+
107
+ ### query
108
+ ````Typescript
109
+ query: string
110
+ ````
111
+
112
+ 本次预览的全局参数。 可在 app.js 的 onLaunch 中取得,例: `name=vendor&color=black`
113
+
114
+ ### scene
115
+
116
+ ````Typescript
117
+ scene: string
118
+ ````
119
+ 本次预览的场景值。 输入值为场景的 channelId。例: `ch_appcenter`
120
+
121
+ 可选值可参考[支持的场景值](../../guide/experiences/scene.md)。