APICloud 开发工具核心库
简介
APICloud 开发工具核心库,支持新建页面模板,新建应用模板,WiFi同步等核心功能.开发者可基于此核心库,定制各种编辑器插件或者将 APICloud 的开发调试功能与已有的自动化业务流程结合,提升开发效率.
开源地址: https://github.com/apicloudcom/apicloud-tools-core
特性
- 轻量: 底层WiFi同步核心功能,使用 nodejs 重写,代码体积缩减到 2M 以下;
- 开源: 基于 GPL-3.0 协议开源,开发者可自用扩展与定制;
- 灵活: 核心开发工具代码独立于特定编辑器环境,可用于任何支持标准 nodejs 模块的开发环境中;
- 强大: 基于 nodejs 的事件机制和流操作,代替原来的文件读写操作来进行相关底层逻辑的同步,更加高效;
- 跨平台: 支持 Mac/Windows/Linux 等主流操作系统;
安装
npm install apicloud-tools-core --save
使用
const APICloud = require("apicloud-tools-core")
this.startWifi({port: 8686})
接口调用示例
具体实现,可参考源码 lib/APICloud.js,以下为简要接口示例:
新建页面模板
let name = "HelloAPICloud"
let template = "home"
APICloud.init({name:name})
新建应用模板
let name = "FirstPage"
let template = "page001"
APICloud.addFileTemplate({name:name,template:template})
启动wifi服务
APICloud.startWifi({port:8086})
wifi 增量/全量同步
let projectRootPath = "./"
APICloud.syncWifi({syncAll:true}) // 全量同步.
APICloud.syncWifi({syncAll:false}) // 增量同步.
预览页面
let file = "./index.html"
APICloud.previewWifi({file:file})
获取wifi配置信息,如端口号等
APICloud.wifiInfo()
获取调试日志
注意:此处实际是注册了日志事件的回调函数,会持续输出日志.
APICloud.wifiLog(({level,content})=>{
if(level === "warn"){
console.warn(content)
return
}
if(level === "error"){
console.error(content)
return
}
console.log(content)
})
.then(()=>{
console.log("WiFi 日志服务已启动...")
})
停止 wifi 服务
APICloud.endWifi({})
自定义真机同步时想要忽略的文件或目录
核心库及其衍生工具插件,支持在项目根目录添加 .syncignore 文件,来自定义想在在真机同步时忽略的文件.这一功能,对于那些基于webpack等自动化工具构建项目的开发者来说,意义重大.
不同于svn/git等的ignore,核心库真机同步的 ignore 功能基于node-glob开发,支持标准的Glob表达式.
常用格式示例
- 忽略某一类型的文件,如 *.js.map 文件:
**/*.js.map
- 忽略项目中所有某一名称的文件夹极其子文件(夹),如node_modules目录:
**/node_modules/**
- 忽略根目录中某一目录下的所有文件(夹),如src目录:
src/**
- 基于自动化webpack等自动化构建工具常用的表达式:
{**/*.js.map,**/node_modules/**,src/**}