CLI.md 7.2 KB
Newer Older
D
DCloud_LXH 已提交
1 2 3
---
sidebarDepth: 2
---
hbcui1984's avatar
hbcui1984 已提交
4

hbcui1984's avatar
hbcui1984 已提交
5
`uni-app`项目支持 `uni cli``HBuilderX cli`两种脚手架工具:
hbcui1984's avatar
hbcui1984 已提交
6

hbcui1984's avatar
hbcui1984 已提交
7 8
- `uni cli`:面向非HBuilderX的用户(如习惯使用vscode/webstorm的开发者),提供创建项目、编译发行等能力;在App平台,仅支持生成离线打包的wgt资源包,不支持云端打包生成apk/ipa;若需云端打包,依然需要安装HBuilderX,使用`HBuilderX cli`
- `HBuilderX cli`:面向HBuilderX用户,提供`uni-app`项目的持续集成能力;支持通过`HBuilderX cli`进行云端打包;但HBuilderX暂不支持linux平台,若你的服务器是linux系统,则还需使用`uni-cli`
hbcui1984's avatar
hbcui1984 已提交
9

hbcui1984's avatar
hbcui1984 已提交
10 11 12 13 14 15 16 17

提供有完整的`cli` 脚手架,可以通过 `vue-cli` 创建、运行、发行 `uni-app` 项目。

## uni cli

### 安装

若你使用vue2版本,需要使用 npm 或者 yarn 全局安装 `@vue/cli`
hbcui1984's avatar
hbcui1984 已提交
18 19 20 21 22

```shell
npm install -g @vue/cli
```

hbcui1984's avatar
hbcui1984 已提交
23 24 25 26 27 28 29
若使用vue3版本,则无需安装。

### 创建工程

vue2/vue3创建工程的方式不同。

**使用 vue2 创建工程**
hbcui1984's avatar
hbcui1984 已提交
30

D
DCloud_LXH 已提交
31
- 使用 `正式版`(对应 HBuilderX 最新正式版)
hbcui1984's avatar
hbcui1984 已提交
32 33 34 35 36

  ```shell
  vue create -p dcloudio/uni-preset-vue my-project
  ```

D
DCloud_LXH 已提交
37
- 使用 `alpha版`(对应 HBuilderX 最新 alpha 版)
hbcui1984's avatar
hbcui1984 已提交
38 39 40 41 42

  ```shell
  vue create -p dcloudio/uni-preset-vue#alpha my-alpha-project
  ```

hbcui1984's avatar
hbcui1984 已提交
43
此时,会提示选择项目模板,初次体验建议选择 `hello uni-app` 项目模板,如下所示:
hbcui1984's avatar
hbcui1984 已提交
44 45 46 47 48

<div>
<img src="https://img.cdn.aliyun.dcloud.net.cn/guide/uniapp/h5-cli-01.png" width="300">
</div>

hbcui1984's avatar
hbcui1984 已提交
49
  上图中,如果选择自定义模板,需要填写 uni-app 模板地址,这个地址其实就是托管在云端的仓库地址。以 GitHub 为例,地址格式为 `userName/repositoryName`,如 `dcloudio/uni-template-picture` 就是下载图片模板。
hbcui1984's avatar
hbcui1984 已提交
50

D
DCloud_LXH 已提交
51
  更多支持的下载方式,请参考这个插件的说明:[download-git-repo](https://www.npmjs.com/package/download-git-repo)
hbcui1984's avatar
hbcui1984 已提交
52

hbcui1984's avatar
hbcui1984 已提交
53 54 55 56 57 58 59 60 61 62 63 64 65
**使用 vue3 创建工程**

- 创建以 javascript 开发的工程(如命令行创建失败,请直接访问 [gitee](https://gitee.com/dcloud/uni-preset-vue/repository/archive/vite.zip) 下载模板)
```shell
npx degit dcloudio/uni-preset-vue#vite my-vue3-project
```
- 创建以 typescript 开发的工程(如命令行创建失败,请直接访问 [gitee](https://gitee.com/dcloud/uni-preset-vue/repository/archive/vite-ts.zip) 下载模板)
```shell
npx degit dcloudio/uni-preset-vue#vite-ts my-vue3-project
```

Vue3版本暂不支持选择模板,仅支持创建默认模板。

D
DCloud_LXH 已提交
66
- **国内特殊情况**
hbcui1984's avatar
hbcui1984 已提交
67

D
DCloud_LXH 已提交
68
  > 模板项目存放于 Github,由于国内网络环境问题,可能下载失败。针对此问题可以尝试如下措施:
hbcui1984's avatar
hbcui1984 已提交
69

D
DCloud_LXH 已提交
70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94
  - 更换网络重试,比如使用 4g 网络
  - 在设备或路由器的网络设置中增加 DNS(如:8.8.8.8)
  - 在设备中增加固定的 hosts(如:140.82.113.4 github.com)

- **修改依赖为指定版本@cliversion**

  可以使用 [@dcloudio/uvm](https://www.npmjs.com/package/@dcloudio/uvm) 管理编译器的版本:

  - 更新到 `最新正式版`
    ```shell
    npx @dcloudio/uvm
    ```
  - 更新到 `最新 alpha 版`
    ```shell
    npx @dcloudio/uvm alpha
    ```
  - 更新到 `正式版指定版本`
    ```shell
    npx @dcloudio/uvm 3.2.12.20211029
    ```
  - 更新到 `alpha 版指定版本`
    ```shell
    npx @dcloudio/uvm 3.2.14.20211112-alpha
    ```

hbcui1984's avatar
hbcui1984 已提交
95
### 编译运行
D
DCloud_LXH 已提交
96

hbcui1984's avatar
hbcui1984 已提交
97
#### App 平台
hbcui1984's avatar
hbcui1984 已提交
98 99

```shell
D
DCloud_LXH 已提交
100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117
# npm
npm run build:app-plus
npm run dev:app-plus
# vue3项目
npm run build:app
npm run dev:app

# yarn
yarn build:app-plus
yarn dev:app-plus
# vue3项目
yarn build:app
yarn dev:app

# 监听文件变化且启用压缩
yarn build:app-plus --watch
# vue3项目
yarn build:app -w
hbcui1984's avatar
hbcui1984 已提交
118 119
```

hbcui1984's avatar
hbcui1984 已提交
120 121 122
Tips:
- vue2发布到App平台时,平台参数为`app-plus`;vue3发布到App平台时,平台参数为`app`
- `uni cli`在App平台,仅支持生成离线打包的wgt资源包,不支持云端打包生成apk/ipa;若需云端打包,依然需要安装HBuilderX,使用`HBuilderX cli`
hbcui1984's avatar
hbcui1984 已提交
123

hbcui1984's avatar
hbcui1984 已提交
124
#### H5
D
DCloud_LXH 已提交
125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140

```shell
# npm
npm run build:h5
npm run dev:h5

# yarn
yarn build:h5
yarn dev:h5

# 监听文件变化且启用压缩
yarn build:h5 --watch
# vue3项目
yarn build:h5 -w
```

hbcui1984's avatar
hbcui1984 已提交
141
#### 微信小程序
D
DCloud_LXH 已提交
142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158


```shell
# npm
npm run build:mp-weixin
npm run dev:mp-weixin

# yarn
yarn build:mp-weixin
yarn dev:mp-weixin

# 监听文件变化且启用压缩
yarn build:mp-weixin -watch
# vue3项目
yarn build:mp-weixin -w
```

hbcui1984's avatar
hbcui1984 已提交
159
#### 支付宝小程序
D
DCloud_LXH 已提交
160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175

```shell
# npm
npm run build:mp-alipay
npm run dev:mp-alipay

# yarn
yarn build:mp-alipay
yarn dev:mp-alipay

# 监听文件变化且启用压缩
yarn build:mp-alipay -watch
# vue3项目
yarn build:mp-alipay -w
```

hbcui1984's avatar
hbcui1984 已提交
176
#### 百度小程序
D
DCloud_LXH 已提交
177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193


```shell
# npm
npm run build:mp-baidu
npm run dev:mp-baidu

# yarn
yarn build:mp-baidu
yarn dev:mp-baidu

# 监听文件变化且启用压缩
yarn build:mp-baidu -watch
# vue3项目
yarn build:mp-baidu -w
```

hbcui1984's avatar
hbcui1984 已提交
194
#### 字节跳动小程序
D
DCloud_LXH 已提交
195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211


```shell
# npm
npm run build:mp-toutiao
npm run dev:mp-toutiao

# yarn
yarn build:mp-toutiao
yarn dev:mp-toutiao

# 监听文件变化且启用压缩
yarn build:mp-toutiao -watch
# vue3项目
yarn build:mp-toutiao -w
```

hbcui1984's avatar
hbcui1984 已提交
212
#### 飞书小程序
D
DCloud_LXH 已提交
213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229


```shell
# npm
npm run build:mp-lark
npm run dev:mp-lark

# yarn
yarn build:mp-lark
yarn dev:mp-lark

# 监听文件变化且启用压缩
yarn build:mp-lark -watch
# vue3项目
yarn build:mp-lark -w
```

hbcui1984's avatar
hbcui1984 已提交
230
#### QQ 小程序
D
DCloud_LXH 已提交
231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246

```shell
# npm
npm run build:mp-qq
npm run dev:mp-qq

# yarn
yarn build:mp-qq
yarn dev:mp-qq

# 监听文件变化且启用压缩
yarn build:mp-qq -watch
# vue3项目
yarn build:mp-qq -w
```

hbcui1984's avatar
hbcui1984 已提交
247
#### 快手小程序
D
DCloud_LXH 已提交
248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263


```shell
# npm
npm run build:mp-kuaishou
npm run dev:mp-kuaishou

# yarn
yarn build:mp-kuaishou
yarn dev:mp-kuaishou

# 监听文件变化且启用压缩
yarn build:mp-kuaishou -watch
# vue3项目
yarn build:mp-kuaishou -w
```
hbcui1984's avatar
hbcui1984 已提交
264

hbcui1984's avatar
hbcui1984 已提交
265
#### 快应用(webview)
D
DCloud_LXH 已提交
266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282


```shell
# npm
npm run build:quickapp-webview
npm run dev:quickapp-webview

# yarn
yarn build:quickapp-webview
yarn dev:quickapp-webview

# 监听文件变化且启用压缩
yarn build:quickapp-webview -watch
# vue3项目
yarn build:quickapp-webview -w
```

hbcui1984's avatar
hbcui1984 已提交
283
#### 快应用联盟
D
DCloud_LXH 已提交
284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299

```shell
# npm
npm run build:quickapp-webview-union
npm run dev:quickapp-webview-union

# yarn
yarn build:quickapp-webview-union
yarn dev:quickapp-webview-union

# 监听文件变化且启用压缩
yarn build:quickapp-webview-union -watch
# vue3项目
yarn build:quickapp-webview-union -w
```

hbcui1984's avatar
hbcui1984 已提交
300
#### 快应用华为
D
DCloud_LXH 已提交
301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316

```shell
# npm
npm run build:quickapp-webview-huawei
npm run dev:quickapp-webview-huawei

# yarn
yarn build:quickapp-webview-huawei
yarn dev:quickapp-webview-huawei

# 监听文件变化且启用压缩
yarn build:quickapp-webview-huawei -watch
# vue3项目
yarn build:quickapp-webview-huawei -w
```

hbcui1984's avatar
hbcui1984 已提交
317
#### 360 小程序
D
DCloud_LXH 已提交
318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334

```shell
# npm
npm run build:mp-360
npm run dev:mp-360

# yarn
yarn build:mp-360
yarn dev:mp-360

# 监听文件变化且启用压缩
yarn cross-env NODE_ENV=production UNI_PLATFORM=mp-360 vue-cli-service uni-build --watch
```

可以自定义更多条件编译平台,比如钉钉小程序,参考[package.json 文档](https://uniapp.dcloud.io/collocation/package)

## HBuilderX cli
hbcui1984's avatar
hbcui1984 已提交
335

D
DCloud_LXH 已提交
336
开发者可以通过 cli 命令行指示 HBuilderX 进行启动、打包、登录等操作,详情参考:[https://hx.dcloud.net.cn/cli/README](https://hx.dcloud.net.cn/cli/README)