webpack-dev-middleware改造成koa中件间
const webpackDev = require('webpack-dev-middleware');
function applyMiddleware(middleware, req, res) {
const _send = res.send;
return new Promise((resolve, reject) => {
try {
res.send = function () {
_send.apply(res, arguments) && resolve(false);
};
middleware(req, res, resolve.bind(null, true));
} catch (error) {
reject(error);
}
});
}
module.exports = ({compiler, others}) => {
const middleware = webpackDev(compiler, others);
return async (ctx, next) => {
const hasNext = await applyMiddleware(middleware, ctx.req, Object.assign(ctx.res, {
send: content => {return ctx.body = content}
}))
if(hasNext){
await next();
}
}
}
参考: https://segmentfault.com/a/1190000004883199
webpack-dev-middleware改造成koa中件间的更多相关文章
- 从零写一个兼容MySQL/Oracle的Proxy中件间(一)《初识Oracle的通信协议》
0.前言 MySQL由于开源的原因,有各式各样的中件间Proxy ,极大的丰富了做高可用或迁移的方案,习惯了MySQL生态圈的灵活和便利,Oracle官方不开源代码和协议,没有中间件proxy,显得很 ...
- vue-cli脚手架build目录中的webpack.dev.conf.js配置文件
此文章用来解释vue-cli脚手架build目录中的webpack.dev.conf.js配置文件 此配置文件是vue开发环境的wepack相关配置文件 关于注释 当涉及到较复杂的解释我将通过标识的方 ...
- 从前端中的IOC理念理解koa中的app.use()
忙里偷闲,打开平时关注的前端相关的网站,浏览最近最新的前端动态.佼佼者,平凡的我做不到,但还是要争取不做落后者. 前端中的IoC理念,看到这个标题就被吸引了.IoC 理念,不认识呢,点击去一看,果然没 ...
- VUE开发请求本地数据的配置,旧版本dev-server.js,新版本webpack.dev.conf.js
VUE开发请求本地数据的配置,早期的vue-lic下面有dev-server.js和dev-client.js两文件,请求本地数据在dev-server.js里配置,最新的vue-webpack-te ...
- vue-cli脚手架之webpack.dev.conf.js
webpack.dev.conf.js 开发环境模式配置文件: 'use strict'//js按照严格模式执行 const utils = require('./utils')//导入utils. ...
- webpack.dev.conf.js详解
转载自:https://www.cnblogs.com/ye-hcj/p/7087205.html webpack.dev.conf.js详解 //引入当前目录下的utils.js文件模块var ut ...
- vue模拟后台数据,请求本地数据的配置(旧版本dev-server.js,新版本webpack.dev.conf.js)
最近学习一个vue-cli的项目,需要与后台进行数据交互,这里使用本地json数据来模仿后台数据交互流程.然而发现build文件夹下没有dev-server.js文件了,因为新版本的vue-webpa ...
- vue -- 脚手架之webpack.dev.conf.js
webpack.dev.conf.js 开发环境模式配置文件: 'use strict'//js按照严格模式执行 const utils = require('./utils')//导入utils. ...
- 解决运行webpack --config webpack.dev.config.js 报错ReferenceError: _dirname is not defined
控制台报错信息如下 将webpack.dev.config.js中的_dirname 改为 __dirname 注意这里是两个下划线谢谢!感觉好坑
- 配置Webpack Dev Server 实战操作方法步骤
本文摘要:配置 Webpack Dev Server 可以解决本地开发前端应用时,手动执行 webpack 命令或 yarn build 命令,再去浏览器中访问 dist/index.html 的麻烦 ...
随机推荐
- 解决点击el-dialog对话框,body抖动问题
在vue中点击el-dialog对话框有时候body样式会加上padding-right:8px. 百度了一下多数是增加padding,然后他们的解决办法是 全局给body加样式 padding-ri ...
- 解决报错Could not satisfy explicit device specification '' because the node was colocated with a group of nodes that required incompatible device '/device:GPU:0'
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))改为如下:sess = tf.Session(config=tf. ...
- 1839:【05NOIP提高组】谁拿了最多奖学金
1839:[05NOIP提高组]谁拿了最多奖学金 时间限制: 1000 ms 内存限制: 65536 KB提交数: 9569 通过数: 4431 [题目描述] 某校的惯例是在每 ...
- 【微信公众号】记一次微信活动微信公众号分享没有LOGO的解决心路历程
微信类的活动测过好几次了,以前的开发从来没有出过纰漏,这次也以为很简单.结果一个"分享后没有LOGO的问题",前端开发陆陆续续花了一周时间都不能解决,老是找后端和微信公众号配置问题 ...
- pip安装psycopg2报错Could not find a version that satisfies the requirement psycopg2
pip安装psycopg2报错 在使用命令(pip install psycopg2)安装psycopg2时,会报错: ERROR: Could not find a version that sat ...
- DP4056软硬兼容TP4056,低成本
概述 DP4056是一款单节锂离子电池恒流/恒压线性充电器,采用底 部带散热片的SOP8封装以及简单的外部应用电路,常适 合便携式设备应用,适合USB电源和适配器电源工作,内部采用防倒充电路,不需要外 ...
- Redis哨兵模式+缓存穿透、击穿和雪崩
一.哨兵模式概述(自动选主机的方式)主从切换技术:当主机宕机后,需要手动把一台从(slave)服务器切换为主服务器,这就需要人工干预,费时费力,还回造成一段时间内服务不可用,所以推荐哨兵架构(Sent ...
- C3861: “CoInitialize”“CoUninitialize”: 找不到标识符
error C3861: "CoInitialize": 找不到标识符error C3861: "CoUninitialize": 找不到标识符 包含头文件和链 ...
- Flink常见问题解决记录
1.Hardlink from files of previous local stored state might cross devices 开启了state.backend.local-reco ...
- 阿里云centos7搭建docker,拉取镜像外网访问不通的问题排查
最近新买了一个阿里云服务器,用docker安装了mysql,外网死活连接不上我的mysql,最终经过一顿猛百度查问题,找出问题根源.对这次查问题过程中出现的问题也有一些心得,也小小记录一下复盘总结. ...