--- sidebarDepth: 2 --- `uni-app`项目支持 `uni cli`和 `HBuilderX cli`两种脚手架工具: - `uni cli`:面向非HBuilderX的用户(如习惯使用vscode/webstorm的开发者),提供创建项目、编译发行等能力;在App平台,仅支持生成离线打包的wgt资源包,不支持云端打包生成apk/ipa;若需云端打包,依然需要安装HBuilderX,使用`HBuilderX cli`; - `HBuilderX cli`:面向HBuilderX用户,提供`uni-app`项目的持续集成能力;支持通过`HBuilderX cli`进行云端打包;但HBuilderX暂不支持linux平台,若你的服务器是linux系统,则还需使用`uni-cli`。 提供有完整的`cli` 脚手架,可以通过 `vue-cli` 创建、运行、发行 `uni-app` 项目。 ## uni cli ### 安装 若你使用vue2版本,需要使用 npm 或者 yarn 全局安装 `@vue/cli`。 ```shell npm install -g @vue/cli ``` 若使用vue3版本,则无需安装。 ### 创建工程 vue2/vue3创建工程的方式不同。 **使用 vue2 创建工程** - 使用 `正式版`(对应 HBuilderX 最新正式版) ```shell vue create -p dcloudio/uni-preset-vue my-project ``` - 使用 `alpha版`(对应 HBuilderX 最新 alpha 版) ```shell vue create -p dcloudio/uni-preset-vue#alpha my-alpha-project ``` 此时,会提示选择项目模板,初次体验建议选择 `hello uni-app` 项目模板,如下所示:
上图中,如果选择自定义模板,需要填写 uni-app 模板地址,这个地址其实就是托管在云端的仓库地址。以 GitHub 为例,地址格式为 `userName/repositoryName`,如 `dcloudio/uni-template-picture` 就是下载图片模板。 更多支持的下载方式,请参考这个插件的说明:[download-git-repo](https://www.npmjs.com/package/download-git-repo) **使用 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版本暂不支持选择模板,仅支持创建默认模板。 - **国内特殊情况** > 模板项目存放于 Github,由于国内网络环境问题,可能下载失败。针对此问题可以尝试如下措施: - 更换网络重试,比如使用 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 ``` ### 编译运行 #### App 平台 ```shell # 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 ``` Tips: - vue2发布到App平台时,平台参数为`app-plus`;vue3发布到App平台时,平台参数为`app`; - `uni cli`在App平台,仅支持生成离线打包的wgt资源包,不支持云端打包生成apk/ipa;若需云端打包,依然需要安装HBuilderX,使用`HBuilderX cli`。 #### H5 ```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 ``` #### 微信小程序 ```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 ``` #### 支付宝小程序 ```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 ``` #### 百度小程序 ```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 ``` #### 字节跳动小程序 ```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 ``` #### 飞书小程序 ```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 ``` #### QQ 小程序 ```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 ``` #### 快手小程序 ```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 ``` #### 快应用(webview) ```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 ``` #### 快应用联盟 ```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 ``` #### 快应用华为 ```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 ``` #### 360 小程序 ```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 开发者可以通过 cli 命令行指示 HBuilderX 进行启动、打包、登录等操作,详情参考:[https://hx.dcloud.net.cn/cli/README](https://hx.dcloud.net.cn/cli/README)