信创国产化替换如何推动企业自主创新与市场竞争力提升
658
2022-10-26
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小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~