codecamp

MorJS compileType - 编译类型

  • 类型: ​string
  • 默认值: ​miniprogram
  • 可选值:
  1. miniprogram​: 以小程序的方式编译,入口配置文件为 ​app.json
  2. plugin​: 以插件的方式编译,入口配置文件为 ​plugin.json
  3. subpackage​: 以分包的方式编译,入口配置文件为 ​subpackage.json
  4. component​: 以组件的方式编译,入口配置文件为 ​component.json

编译类型,用于配置当前项目的产物形态,支持类型如下:

  • miniprogram​: 小程序形态,以 ​app.json​ 作为入口配置文件
  • plugin​: 小程序插件形态,以 ​plugin.json​ 作为入口配置文件
  • subpackage​: 小程序分包形态,以 ​subpackage.json​ 作为入口配置文件
  • component​: 小程序组件形态,以 ​component.json​ 作为入口配置文件

同一个项目可通过不同的 ​compileType​ 配合不同的入口配置文件输出不同的产物形态,有关多形态相互转换的进一步解释,可参见文档:小程序形态一体化

参考配置示例:

/* 配置示例 */

// 小程序 app.json 配置示例
// 详细配置可参见微信小程序或支付宝小程序 app.json 配置
{
"pages": [
"pages/todos/todos",
"pages/add-todo/add-todo"
],
// subpackages 或 subPackages 均可
"subPackages": [
{
"root": "my",
"pages": [
"pages/profile/profile"
]
}
]
}

// 小程序插件 plugin.json 配置示例
// 详细配置可参见微信小程序或支付宝小程序 plugin.json 配置
{
"publicComponents": {
"list": "components/list/list"
},
"publicPages": {
"hello-page": "pages/index/index"
},
"pages": [
"pages/index/index",
"pages/another/index"
],
// 插件导出的模块文件
"main": "index.js"
}

// 小程序分包 subpackage.json 配置示例
// 配置方式同 app.json 中的 subpackages 的单个分包配置方式一致
{
// type 字段为 MorJS 独有, 用于标识该分包为 "subpackage" 或 "main"
// 区别是: 集成时 "subpackage" 类型的分包会被自动合并到 app.json 的 subpackages 字段中
// "main" 类型的分包会被自动合并到 app.json 的 pages 字段中 (即: 合并至主包)
"type": "subpackage",
// root 字段将影响集成时分包产物合并至宿主小程序时的根目录
"root": "my",
// 注意: 编译分包以 pages 作为实际路径进行解析
"pages": [
"pages/profile/profile"
]
}

// 小程序组件 component.json 配置示例
// publicComponents 和 main 字段为 MorJS 自定义字段
{
// publicComponents 记录组件列表,标识 bundle 模式下哪些组件需要被编译
// publicComponents 有两种配置写法,写成数组时标识组件列表
"publicComponents": [
"components/banner/index",
"components/image/index",
"components/popup/index"
],
// publicComponents 写成 { key: value } 对象时,将 value 的组件编译到 key 对应的产物目录下
"publicComponents": {
"morjs-banner/index": "components/banner/index",
"morjs-image/index": "components/image/index",
"morjs-popup/index": "components/popup/index"
},
// main 用于配置组件初始化文件
"main": "index.js"
}

默认情况下不同 ​compileType​ 对应的入口配置文件会直接从 ​srcPath​ 和 ​srcPaths​ 所指定的源码目录中直接载入。

如需要定制入口配置文件的路径可通过 customEntries 配置 来自定义。


MorJS compilerOptions - 编译配置
MorJS conditionalCompile - 条件编译
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

MorJS 指南

MorJS 基础用法

MorJS 配置

MorJS 编译相关配置

MorJS 进阶用法

MorJS Web开发

MorJS Web开发介绍

MorJS Web开发快速上手

MorJS Tabbar IOS 小黑条适配开关

MorJS 社区

MorJS 规范

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }