# 搭建 BFF 架构(服务于前端的后端)
## 目录改造
## 搭建
### 技术栈
Koa 一系列配套系列
nodemon
pm2
@koa/router
koa-swig + co
koa-static 静态资源服务器
### 真假路由
/about --> 后端/about --> 404 --> fallback --> 后端/ --> vue 页面 --> url /about --> vue-router -> /about
koa2-connect-history-api-fallback 真假路由转换
### 错误处理
洋葱模型
日志收集 log4js:时间、级别、分类
### ES6/system.js
解决浏览器不支持 ES6 语法
system.js 解决不兼容问题,需要通过 babel 打包成 systemjs 认识的语法
@babel/plugin-transform-modules-systemjs
@babel/core
@babel/cli
```bash
$ babel --plugins @babel/plugin-transform-modules-systemjs ./assets/js/index.js -o ./assets/js/system_bundle.js
```
```html
<script src="https://cdn.bootcdn.net/ajax/libs/systemjs/6.8.3/system.min.js"></script>
<script src="https://cdn.bootcdn.net/ajax/libs/vue/2.6.9/vue.min.js"></script>
<script type="module">
import("/js/index.js").then((res) => {
console.error("esmodule", res.default)
})
</script>
<script>
System.import("/js/system_bundle.js").then((res) => {
console.error("systemmodule", res.default)
})
</script>
```
https://github.com/samthor/html-modules-polyfill
NodeJS 中使用 ES6,使用@babel/node、@babel/preset-env、@babel/core
线上环境使用 gulp
## 封装 axios
## 函数式编程
lodash、underscore
封装函数工具库
基本特点:
- 通过函数对数据进行转化
- 通过串联多个函数来求结果
## 测试
接口测试、e2e 测试
Playwright(只能使用 npm 安装)、mocha(配合 supertest 做接口测试)、chai
没有合适的资源?快使用搜索试试~ 我知道了~
bff-framework-one:基于koa搭建的bff架构,ES6环境使用@bablenode,e2e测试环境使用playw...
共37个文件
js:21个
map:3个
html:3个
需积分: 19 2 下载量 11 浏览量
2021-04-10
10:20:59
上传
评论
收藏 307KB ZIP 举报
温馨提示
搭建 BFF 架构(服务于前端的后端) 目录改造 搭建 技术栈 Koa 一系列配套系列 nodemon pm2 @koa/router koa-swig + co koa-static 静态资源服务器 真假路由 /about --> 后端/about --> 404 --> fallback --> 后端/ --> vue 页面 --> url /about --> vue-router -> /about koa2-connect-history-api-fallback 真假路由转换 错误处理 洋葱模型 日志收集 log4js:时间、级别、分类 ES6/system.js 解决浏览器不支持 ES6 语法 system.js 解决不兼容问题,需要通过 babel 打包成 systemjs 认识的语法 @babel/plugin-transform-modules-systemjs @ba
资源详情
资源评论
资源推荐
收起资源包目录
bff-framework-one-main.zip (37个子文件)
bff-framework-one-main
utils
helpers.js 5KB
safeRequest.js 474B
SafeRequest.js 48B
views
books
list.html 355B
index.html 839B
index_vue.html 816B
models
BooksModel.js 382B
controllers
BooksController.js 403B
Controller.js 101B
IndexController.js 265B
ApiController.js 349B
VueController.js 223B
index.js 793B
.babelrc 136B
.vscode
launch.json 614B
out.txt 308B
app.js 1KB
config
path.js 157B
index.js 547B
assets
favicon.ico 4KB
img
logo.82b9c7a5.png 7KB
js
about.505756e9.js 455B
app.5290c85c.js.map 28KB
chunk-vendors.d357736c.js 120KB
app.5290c85c.js 6KB
system_bundle.js 293B
chunk-vendors.d357736c.js.map 601KB
about.505756e9.js.map 1KB
index.js 103B
css
app.ecdb05b1.css 428B
README.md 2KB
middlewares
ErrorHandler.js 556B
tests
api.test.js 387B
e2e.test.js 548B
.gitignore 3KB
screenshot
example-chromium.png 52KB
package.json 1KB
共 37 条
- 1
步衫
- 粉丝: 29
- 资源: 4641
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0