Skip to main content

Supported targets

MorJS can compile your mini-program source to the following platforms:
TargetPlatformGlobal objectDefault output
alipayAlipay mini-programmydist/alipay
wechatWeChat mini-programwxdist/wechat
baiduBaidu mini-programswandist/baidu
bytedanceByteDance (Douyin/Toutiao)ttdist/bytedance
qqQQ mini-programqqdist/qq
taobaoTaobao mini-programmydist/taobao
dingdingDingTalk mini-programdddist/dingding
kuaishouKuaishou mini-programksdist/kuaishou
webWeb application (H5)myProdist/web

Setting the target

In mor.config.ts

mor.config.ts
import { defineConfig } from '@morjs/cli'

export default defineConfig({
  sourceType: 'wechat',
  target: 'alipay'
})

Via CLI flag

The -t / --target flag overrides the config file value:
mor compile --target wechat
mor compile --target alipay
mor compile --target web
mor compile -t baidu

Compiling to multiple targets

Pass an array to defineConfig to compile all targets in a single mor compile invocation:
mor.config.ts
import { defineConfig } from '@morjs/cli'

export default defineConfig([
  {
    name: 'wechat',
    sourceType: 'wechat',
    target: 'wechat'
  },
  {
    name: 'alipay',
    sourceType: 'wechat',
    target: 'alipay'
  },
  {
    name: 'tt',
    sourceType: 'wechat',
    target: 'bytedance'
  },
  {
    name: 'baidu',
    sourceType: 'wechat',
    target: 'baidu'
  }
])
To compile only one config from the array during development, use --name:
mor compile --name wechat -w
mor compile --name alipay -w

Custom output path

Each target has its own default output directory. Override it per config or on the CLI:
{
  target: 'wechat',
  outputPath: 'dist/wx-custom'
}
mor compile --target wechat --output-path dist/wx-custom

Target-specific defaults

Each target automatically sets appropriate compilation defaults:

WeChat

  • Module format: CommonJS
  • Script target: ES5
  • Templates: .wxml
  • Styles: .wxss
  • SJS files: .wxs

Alipay

  • Module format: ESNext
  • Script target: ES2015
  • Templates: .axml
  • Styles: .acss
  • SJS files: .sjs

ByteDance

  • Shares Alipay file conventions
  • Global object: tt
  • Output: dist/bytedance

Web

  • Alipay DSL as base
  • Global object: myPro
  • Produces a webpack bundle with HTML entry
  • See the Web Compilation guide

Conditional file extensions

Each target also sets a default conditional file extension used for file-level conditional compilation:
TargetDefault extension
wechat.wx
alipay.my
baidu.swan
bytedance.tt
qq.qq
taobao.tb
dingding.dd
web.web
When a file like index.wx.ts exists alongside index.ts, MorJS prefers index.wx.ts when compiling to the wechat target.

Build docs developers (and LLMs) love