当前位置:首页 > uni-app

uniapp 自动打包

2026-01-15 18:16:20uni-app

uniapp 自动打包方法

uniapp 支持通过命令行或 CI/CD 工具实现自动化打包,适用于 H5、小程序、App 等平台。以下是常见的自动打包方式:

H5 或小程序打包

使用 npm run build 命令触发打包,不同平台需指定参数:

# H5 打包
npm run build:h5

# 微信小程序打包
npm run build:mp-weixin

# 支付宝小程序打包
npm run build:mp-alipay

App 打包(云端或本地)

uniapp 自动打包

云端打包通过 cli publish 命令实现:

# 发布到云端打包
cli publish --platform android --project 项目路径

本地打包需配置原生工程环境(Android/iOS),通过 HBuilderX 命令行调用:

# 本地打包示例(需提前配置好原生环境)
cli pack --platform ios --project 项目路径 --output 输出目录

集成 CI/CD 流程

GitHub Actions 示例

uniapp 自动打包

name: Uniapp Build
on: push
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - run: npm install
      - run: npm run build:h5
      - uses: actions/upload-artifact@v2
        with:
          name: h5-build
          path: ./dist/build/h5

Jenkins 配置

  1. 安装 Node.js 插件并配置环境
  2. 添加构建步骤执行 npm install 和打包命令
  3. 使用归档插件保存 dist 目录产物

自定义打包配置

package.json 中扩展脚本命令:

{
  "scripts": {
    "build:auto": "node build.js && cli publish --platform android"
  }
}

创建 build.js 处理自定义逻辑:

const { execSync } = require('child_process');
execSync('npm run build:h5', { stdio: 'inherit' });

注意事项

  • 云端打包需要配置 manifest.json 中的 AppID 和证书信息
  • 本地打包需确保已安装对应平台的 SDK(如 Android Studio 或 Xcode)
  • CI 环境中需缓存 node_modules 以提高构建速度
  • 敏感信息(如证书密码)应使用环境变量管理

标签: uniapp
分享给朋友:

相关文章

uniapp应用市场

uniapp应用市场

uniapp应用市场概述 Uniapp作为跨平台开发框架,支持将代码编译到iOS、Android、Web及各类小程序平台。其应用市场(插件市场)是开发者获取扩展插件、模板、组件的重要资源库,涵盖UI组…

uniapp开发电视应用

uniapp开发电视应用

开发环境准备 确保已安装HBuilderX最新版本,这是uniapp官方推荐的开发工具。安装Node.js环境,用于依赖管理和打包构建。准备Android Studio或Xcode用于调试和打包TV应…

uniapp打包

uniapp打包

uniapp打包步骤 H5平台打包 在项目根目录运行以下命令生成H5资源文件: npm run build:h5 打包完成后,文件默认输出到/dist/build/h5目录,可直接部署到Web服务器…

uniapp 画板

uniapp 画板

uniapp 实现画板功能的方法 在 uniapp 中实现画板功能,可以通过 canvas 组件结合触摸事件来完成。以下是一个基本的实现方案: 基本画板实现 在 template 中添加 canva…

uniapp 录像

uniapp 录像

uniapp 录像功能实现 在uniapp中实现录像功能可以通过调用uni-app的API或结合第三方插件完成。以下是常见的实现方法: 使用uni.chooseVideo方法 uni.choose…

uniapp打卡日期

uniapp打卡日期

实现打卡日期的基本方法 在UniApp中实现打卡日期功能,可以通过<calendar>组件或自定义日期选择器完成。官方推荐使用第三方日历组件如uni-calendar,需通过HBuilde…