c语言编程笔录

首页 >   > 笔记大全

笔记大全

uniapp可以打几次包

更新时间:2023-10-07

包的概念

在了解 uniapp 可以打几次包之前,先来了解一下包的概念。包即是应用程序的打包产物,一般包含了所有用到的资源文件和代码文件。在 uniapp 中,包的生成方式是通过编译构建来完成的,可以使用 HBuilder X 编辑器自带的命令面板或者 CLI 命令行进行构建。在这里,我使用编译构建方式来生成包。uniapp 应用程序的构建输出路径为 unpackage/<app-name>/dist/dev/mp-weixin 目录,生成的包的默认文件夹名为 build。

其中,unpackage 目录是应用程序代码进行编译构建后的文件夹,<app-name> 表示应用程序的名称,在 HBuilder X 中会自动生成该名称,例如我新建了一个项目名为 myuniapp 的 uniapp 应用,则生成的目录结构如下所示:

  
    unpackage
    |--myuniapp
       |--dist
          |--dev
             |--mp-weixin
                |--build
                |  |-myuniapp.wechatdevtools
                |  |-myuniapp.h5
                |  |-myuniapp.android
                |  |-myuniapp.ios
                |--static
                |--index.html
          |--build.js
          |--build.css
          |--...  
  
  

首次构建生成包

在你第一次构建时,会生成一个不带 hash 值的输出文件夹 build。在应用程序发生变更时,需要重新编译构建,然后再将构建后的新版本的资源文件更新到 build 目录下。下面是一个简单示例,首先是创建一个 uniapp 项目:

  
    // 通过 HBuilder X 编辑器创建一个 uniapp 项目,生成默认的项目结构
    // 在项目根目录下执行命令,生成包
    vue-cli-service build --mode development --platform mp-weixin
  
  

该命令会生成输出文件夹 build,输出结果如下:

  
    [INFO] Starting build process
    [INFO] Compilation complete. Watching for file changes.
    改变的文件: gzipped_static/css/app.f01b8ced.css,gzipped_static/js/app.b6c80d23.js 
    改变的文件: index.html 
    Done in 6409ms.
    App root path: F:\projects\myuniapp
    Platform: mp-weixin
    Mod: development
    App Output Directory: F:\projects\myuniapp\dist\dev\mp-weixin\build
  
  

再次构建生成包

在你更新了应用程序的代码文件或者资源文件后,需要重新进行编译构建,生成新的资源文件并再次打包。下面是一个简单示例:

  
    // 修改应用程序的代码文件或者资源文件
    // 在项目根目录下重新执行命令,再次生成包
    vue-cli-service build --mode development --platform mp-weixin
  
  

执行命令后会生成一个新的输出文件夹,包含了更新后的资源文件和代码文件。新的输出文件夹名称不同于上一个 build 目录,而是带有 hash 值的目录名称。因为 hash 值是构建时生成的,每次重新构建的 hash 值都会发生变化。

  
    [INFO] Starting build process
    [INFO] Compilation complete. Watching for file changes.
    改变的文件: gzipped_static/css/app.f01b8ced.css,gzipped_static/js/app.b6c80d23.js 
    改变的文件: index.html 
    Done in 6409ms.
    App root path: F:\projects\myuniapp
    Platform: mp-weixin
    Mod: development
    App Output Directory: F:\projects\myuniapp\dist\dev\mp-weixin\build_25fa
  
  

自定义生成包名称

在使用编译构建方式生成包时,你还可以自定义生成的包名称。比如,我希望将生成的包名称改为 myapp,可以在 HBuilder X 编辑器的项目设置中进行更改。如果在 CLI 命令行进行构建,可以使用 --dest 选项来指定输出目录, 其中 #default 表示构建的 hash 值 :

  
    // 通过 HBuilder X 编辑器进行设置
    1. 打开项目,在 mianfest.json 文件中配置包名称
    2. 使用 HBuilder X 编辑器自带的构建命令或者执行 CLI 命令构建
    // 通过 CLI 命令进行构建
    vue-cli-service build --dest myapp_#default --platform mp-weixin --mode development
  
  

该命令会在当前目录下生成一个名为 myapp_<hash-value> 的文件夹,<hash-value> 是构建时生成的 hash 值。

前言:在 uniapp 中每次打包都需要重新执行编译构建,通过编译构建方式可以自定义构建生成的包名称和构建生成的 hash 值,方便开发者管理应用程序的版本。在进行重新打包时,编译构建会重新生成新的资源文件和代码文件,并将其打包到新的输出文件夹中。为了方便开发者管理不同应用程序的版本和构建历史,官方建议使用 git 进行版本控制。