使用指南
移动 PaaS 平台以 node 包形式为组件开发者提供了本地开发、调试工具,可以模拟组件运行时和设计时两种形式。使用步骤如下:
1. cli 工具
安装 cli 工具,用于初始化工程
# 全局安装
npm i -g mysoft-paas-cli
# or
yarn global add mysoft-paas-cli
2. 初始化工程
创建项目目录(如:/home/dev/workspaces),使用 cli 命令初始化
# 切换到项目目录
cd /home/dev/workspaces
# 运行初始化命令
paas-cli-init your_project
# 安装依赖
yarn [install]
# 运行,command必选,可选项start|startApp|design。start预览、调试运行时界面,startApp预览、调试App,design设计时
yarn run [command]
# 初始化后目录结构如下
modules/ [存放钩子组件或者公共方法]
packages/ [存放业务组件]
example-component/ [示例组件]
static/ [App调试时候存放原生插件]
package.json [依赖、运行脚本等]
首次启动后会拷贝系统模板到项目根目录,也可以在根目录下手动创建 index-dev.html 或者 index-app-dev.html 模板,以便开发调试。
3. 启动本地开发程序
设计时、运行时以及 App 运行时程序
- package.json 文件默认如下
{
"name": "workspace",
"version": "1.0.0",
"author": "paas-cli",
"license": "ISC",
"description": "paas-cli",
"private": true,
"scripts": {
"start": "paas start",
"design": "paas design",
"startApp": "paas startApp"
},
"dependencies": {
"engine-mobile": "git+ssh://git@git.mysoft.com.cn:mic-paas/webapp.git"
}
}
paas-cli 默认提供以下命令,方便开发
paas start|startApp // 启动运行时
paas design // 启动设计时
如果手工安装或误删除,可以以此作为参考重新配置
安装依赖
运行前需要首先使用 yarn (推荐,后续介绍默认采用 yarn )或 npm 安装依赖
yarn
// or
npm i
由于目前开发工具部分依赖项为 git 仓库形式提供,且权限不是完全开放,所以新安装的用户可能存在依赖安装失败的情况,请邮件给陈玲chenl23@mingyuanyun.com申请开通PaaS客户权限。
运行时
模拟真实运行可以调运行时组件,startApp 用于本地调试 App,具体参考APP 调试章节
yarn start|startApp
设计时
启动开发工具设计界面。(可对一些属性进行个性化的配置)
yarn design
4. 配置
服务端构建时,组件列表、配置信息等通过命令传入,为方便本地开发,在开发者工具 package.json 中支持 appConfig 配置
{
"appConfig": {
/* 本地配置 */
"startPort": "本地运行时端口",
"designPort": "本地设计时端口",
"startAppPort": "本地App运行时端口",
/* 服务端模拟配置 */
"appId": "你的appId",
"appAssetsVersion": "资源包版本,对应PaaS后端的应用版本",
"env": "环境,test、beta、prod",
"engine": "引擎版本",
"apiDomain": "业务域名",
"fetchMetaApi": "元数据获取api",
"fetchVersionApi": "版本更新api",
"assetsPublicPath": "公共资源输出路径,app默认/,其他按需",
"sentryUrl": "用于记录日志信息",
"pluginIds": "钩子组件id列表,多个值逗号分隔,即钩子组件package.json>name"
}
}
5. 组件调试排错
在开发组件及测试应用过程中,调试排错都是不可避免的,本文档将引导你如何调试应用。
PaaS 平台提供了多种应用类型,不同类型的应用调试方式也不一样。根据应用类型,本文档分为:
其他
排错支持
实际开发中,如果同时开发多组件,又希望临时屏蔽或者启用个别组件,可以在 package.json 中新增 excludeDirs 或 includeDirs 属性,分别代表排除某目录、或包含某目录,配置如下:
{
"excludeDirs": ["packages/component1"],
// or
"includeDirs": ["packages/component1"]
}