MorJS host - 宿主配置

2024-01-13 23:16 更新
  • 類型: ?object?
  • 默認(rèn)值: ?{}?

小程序集成宿主配置, 詳細(xì)參見(jiàn) 復(fù)雜小程序集成功能。

/* 配置示例 */
{
  // 小程序宿主配置
  host: {
    // 宿主名稱, 可選值, 默認(rèn)會(huì)基于 `git` 或 `npm` 或 `tar` 或 `file` 或 `link` 配置自動(dòng)生成
    name: '',

    // 模塊集成模式, 默認(rèn)為 `compose`
    //  - compose: 通過(guò) compose 方式集成, 通過(guò)拷貝的方式復(fù)制到產(chǎn)物目錄
    //  - compile: 通過(guò) compile 方式集成, 需要通過(guò) MorJS 編譯流程
    mode: 'compose',

    /* git / npm / tar / file / link 均用于下載模塊, 只需要配置一個(gè)即可 */

    // 通過(guò) git 倉(cāng)庫(kù)配置宿主
    // 支持直接配置鏈接, 如:
    //   git: 'git@github.com:abc/cde.git#master'
    //
    // 注意: branch/tag/commit 的優(yōu)先級(jí)為 commit > tag > branch, 相關(guān)字段均配置后,會(huì)按照優(yōu)先級(jí)取用
    git: {
      // 倉(cāng)庫(kù)地址, 支持 git/http/https/ssh 協(xié)議鏈接
      url: 'git@github.com:abc/cde.git',
      // 分支配置, 默認(rèn)為 HEAD
      branch: 'develop',
      // 標(biāo)簽配置
      tag: 'v1.1.0',
      // Git 提交 commit id
      commit: 'abcdefghigklmnopqrstuvwxyz',
    },

    // 通過(guò) npm 配置宿主
    // 支持直接配置鏈接, 如:
    //   npm: 'your_package@1.2.0'
    npm: {
      // npm 名稱
      name: 'your_package',
      // npm 版本, 默認(rèn)為 `latest`
      version: '1.2.0'
    },

    // 通過(guò) tar 配置宿主
    // 支持直接配置鏈接, 如:
    //   tar: 'https://your_domain.com/abc.tar.gz'
    tar: {
      url: 'https://your_domain.com/abc.tar.gz',
      // 支持增加擴(kuò)展參數(shù), 參見(jiàn) got 配置
    },

    // 通過(guò) file 配置宿主(復(fù)制)
    // 直接支持配置地址, 如:
    //   file: '/Users/yourHomeDir/Workspace/yourCustomHostPath'
    file: {
      path: '/Users/yourHomeDir/Workspace/yourCustomHostPath'
    },

    // 通過(guò) link 配置宿主(軟鏈)
    // 直接支持配置地址, 如:
    //   link: '/Users/yourHomeDir/Workspace/yourCustomHostPath'
    link: {
      path: '/Users/yourHomeDir/Workspace/yourCustomHostPath'
    },

    // 構(gòu)建產(chǎn)物目錄配置, 默認(rèn)為 `dist`
    dist: 'dist',

    // 集成構(gòu)建過(guò)程中可執(zhí)行的腳本, 可選配置
    scripts: {
      // 執(zhí)行腳本時(shí)的公共環(huán)境變量, 可選配置
      // MorJS 默認(rèn)會(huì)注入如下環(huán)境變量:
      //   MOR_COMPOSER_MODULE_CWD: 當(dāng)前模塊工作目錄
      //   MOR_COMPOSER_MODULE_TYPE: 當(dāng)前模塊類型
      //   MOR_COMPOSER_MODULE_HASH: 當(dāng)前模塊 hash 信息, 用于 MorJS 內(nèi)部判斷是否需要重新下載模塊
      //   MOR_COMPOSER_MODULE_ROOT: 當(dāng)前模塊根目錄
      //   MOR_COMPOSER_MODULE_SOURCE: 當(dāng)前模塊源碼目錄
      //   MOR_COMPOSER_MODULE_OUTPUT_FROM: 當(dāng)前模塊原始產(chǎn)物目錄
      //   MOR_COMPOSER_MODULE_OUTPUT_TO: 當(dāng)前模塊集成產(chǎn)物目錄
      env: {},

      // 模塊編譯或拷貝前執(zhí)行腳本, 可選配置
      before: [
        // 可以直接以字符串的方式配置命令
        'npm i',

        // 也可以以對(duì)象的方式配置
        {
          // 需要執(zhí)行的命令
          command: 'cd some_dir && mor compile',
          // 該命令的自定義環(huán)境變量
          env: {
            CUSTOM_ENV: 'CUSTOM_ENV_VALUE'
          },
          // 該命令的選項(xiàng), 參見(jiàn) execa.command 的 options 配置
          options: {
            shell: true
          }
        },
      ],

      // 模塊編譯完成后或拷貝后執(zhí)行腳本, 可選配置
      after: [],

      // 所有模塊完成集成之后執(zhí)行腳本, 可選配置
      composed: [],

      // 腳本執(zhí)行公共選項(xiàng), 參見(jiàn) execa.command 的 options 配置
      options: {}
    },

    // 模塊配置信息, 對(duì)應(yīng) app.json 的內(nèi)容
    // 該文件的配置方式,可以參見(jiàn)下方鏈接中有關(guān) app.json 的描述
    // => https://mor.eleme.io/guides/basic/config#compiletype
    // 配置缺省狀態(tài)下,集成時(shí) MorJS 會(huì)自動(dòng)讀取 dist 配置所指向目錄中對(duì)應(yīng)的文件
    config: undefined
  }
}


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)