Aptx 是一套基于 Express 的控制层框架

网友投稿 658 2022-10-26

Aptx 是一套基于 Express 的控制层框架

Aptx 是一套基于 Express 的控制层框架

Aptx

Aptx 是一套基于 Express 的控制层框架,用于快速搭建用于单页应用的 Node 服务。

关键功能

通过简单配置实现接口聚合通过简单模板指令自定义HTML输出内置 Webpack 和 Babel

快速开始

yarn global add aptx // 全局安装 aptx 命令mkdir awesomeapp // 创建新项目目录cd awesomeapp // 进入新项目目录aptx init // 初始化新项目aptx // 启动 aptx 服务

在浏览器打开 http://localhost:4869,Hello Aptx!

Aptx 配置

module.exports = { port: 4869, // HTTP服务启动端口 alias: { // 预设文件/文件夹别名 dist: 'dist', // 构建文件输出目录 api: 'api', // 接口定义文件目录 middleware: 'middleware', // 中间件目录 server: 'server.js', // 自定义启动文件名 index: 'index.html', // 输出HTML模板文件 app: 'app.js', // 客户端 JavaScript 入口文件 webpack: { // webpack 配置文件 dev: 'webpack.conf.js', build: 'webpack.conf.js' } }}

API

Aptx 内置了一套强大的接口聚合方案,通过几条简单的配置将多个接口合并成一个接口,支持串行、并行和混合操作。接口合并可有效的减少浏览器的数据请求次数,提高网页应用的运行效率。

Aptx 以文件为单位定义接口,文件路径作为路由规则,将接口定义文件放在 api 目录下启用路由映射。

下面的文件定义了 /api/news/list 接口,它整合两个新闻源返回的数据

api/news/list.js

module.exports = { parallel: [ { url: 'http://news1.com/latest/list', method: 'get' }, { url: 'https://news2.com/latest/list', method: 'post' } ], convert(news1, news2) { return news1.concat(news2) }}

特别的,可以在某个目录下创建 index.js 定义 /* 接口

详细规则

module.exports = { method // 请求类型 timeout // 请求超时 serial: [Request] // 串行合并 parallel: [Request] // 并行合并 convert(...result, context) {} // 合并数据处理}Request = { key url method formdata json timeout prefilter(request, context) {} // 请求前参数处理 convert(result, context) {} // 请求后数据处理}request = { key url method headers cookies result}context = { __init: request // 对聚合接口发起的原始请求 __last: request // 串行流程中上一个请求 [key]: request // 所有指定了 Key 值的请求}

HTML模板

HTML模板用于服务端渲染,Aptx 支持以下自定义标签

支持动态内容的

当服务器发生错误,自定义渲染展示页面,变量 error 用于引用错误对象

${error.message}

自定义启动文件

Aptx 提供了一些方法用于自定义程序行为,需要手动创建一个启动文件来调用这些方法

aptx.on(event, handler)

监听程序行为

aptx.use(function)

加载 Express 中间件

aptx.start()

手动启用 HTTP 服务

贡献

欢迎各位少侠拔刀相助,开发规范稍后提供

许可证

MIT 许可证

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Android平台基于Google ARCore的AR框架示例
下一篇:企业级Kubernetes管理平台Wayne功能特性介绍
相关文章

 发表评论

暂时没有评论,来抢沙发吧~