Comments (24)
https://github.com/halt-hammerzeit/require-hacker,暂时用不上了。
from roadhog.
不冲突,先走 .roadhogrc 的 proxy,再走 mock 的。
from roadhog.
https://github.com/brennancheung/express-remove-route
from roadhog.
记录下方案。
配置形式
在 .roadhogrc.server.js
里写。第一版仅支持配置式,函数式太灵活,要考虑的点太多了。
配置式
export default {
'GET /local': './local.js',
};
函数式
export default function(router) {
router.get('/local', (req, res) => res.send('hello dva'));
}
装载路由配置
配置式
读取 .roadhog.server.js
,拿到列表,装载给 app
。
函数式
通过 express.Router
支持。
const router = express.Router();
router.get();
app.use('/api', router);
热更新
参考 express-remove-route ,检测到文件文件更新时,通过 app._router.stack
把上一次注册的 route 全部删除。
如何判断哪些文件做更新检测?这是 dora-plugin-proxy 所不智能的地方,可以通过在 require .roadhogrc.server.js
之前对 require 做 mockey patch,记录所有的 require,require 完之后取消 monkey patch 来获取。
from roadhog.
from roadhog.
本地新建.roadhogrc.mock.js,里面编写
export default {
'POST /api/results': {
data: [...],
page: {...},
success: true,
}
}
调用接口 /results时,访问不到怎么回事?
from roadhog.
注意文档格式:
from roadhog.
你定义了 /api/results
,为何要访问 /results
?
from roadhog.
之前的mock方案是自动添加/api的,现在我两个接口 '/api/results'和‘/results’都尝试了,还是报404错误
from roadhog.
其他地方需要改动什么吗?比如引入文件,修改配置什么的?
from roadhog.
roadhog 是 0.5.0 版本?
from roadhog.
然后你访问的是 POST 接口?
from roadhog.
npm 安装最新的是0.4.3 版本0.5.0的下载npm install 不了
from roadhog.
抱歉,忘记 npm publish
了。。重新安装试试。
from roadhog.
OK,可以了,太棒了!又可以在没有后端的情况下好好玩耍了。
from roadhog.
这是我的配置文件:
export default {
'GET /employees' (req, res) {
employeeList(req, res);
},
'POST /employees' (req, res) {
addEmployee(req, res);
}
}
看上去 GET 的时候 req.query 是没问题的,但 POST 的时候 req.body 就没有了,是不是还不支持 POST?
from roadhog.
body 漏加了,在 #86 跟进。
from roadhog.
mark
from roadhog.
@sorrycc @FEliuyg 用mock的时候 .roadhogrc中的proxy应该怎么配置啊
from roadhog.
@jindada proxy可以不用配置,值为null。本地增加一个.roadhogrc.mock.js, mock接口数据在里面配置就可以了
from roadhog.
你是怎么配置的?我的也不起效果
from roadhog.
如果在roadhogrc里面配置了proxy,怎么进行mock?
// roadhogrc
"proxy": {
"/api": {
"target": "http://localhost:61814",
"changeOrigin": true
}
},
// roadhog.mock.js
` "/api/test": { success: true, result: [{test: 'yoo'}] }`
请求时出现504错误
POST http://localhost:8000/api/test 504 (Gateway Timeout)
在server命令行窗口看到错误信息:
[HPM] Error occurred while trying to proxy request /api/test from localhost:8000 to http://localhost:61814 (ECONNREFUSED) (https://nodejs.org/api/errors.html#errors_common_system_errors)
查了下这是由于服务器拒绝,那我想是不是防火墙的问题,然后试着设置了下端口规则,不知道有没有设置对,但还是一样的结果。所以。。。这到底是要怎么弄。。
from roadhog.
@DrakeXiang 都 proxy 到另一个服务器了,再配 mock 规则肯定无效了吧。
from roadhog.
@sorrycc 额,我是小白,之前以为把61814这个端口打开就可以了,周末折腾了一下,最后还是把proxy去掉了
from roadhog.
Related Issues (20)
- 从1.x升级到2.x 运行时babel报错
- 升级到2.x之后eslint报错
- 加入websocket代理后crash HOT 1
- 打包后放到服务器上的时候不加载样式,本地却没有问题 HOT 3
- babel-loader isn’t transpiling Quill’s modules because they're inside node_modules/
- 升级2.0以后,libraryTarget没有了,怎么做组件了?在线等 HOT 3
- 指定启动端口无效
- 普通的js,非js组件,如何获得model的值,虽然能挂载window,但是这方法好low
- Module build failed:var content = require("!!../../../../css-loader/index.js!../../../../postcss-loader/lib/index.js!../../../../less-loader/dist/cjs.js??ref--13-3!./index.less"); ^ Unrecognised input in C:\workSpace\git\dap\node_modules\antd\es\auto-complete\style\index.less (line 2, column 12) HOT 1
- less mixins 调用函数直接取变量值时,编译报错 unrecognised input HOT 1
- libraryTarget 、library配置一直报错,期望给出示例
- extraBabelIncludes未应用extraBabelPlugins规则造成无法Uglify的问题
- 2.1.0版本的roadhog怎么设置headers、library、libraryTarget、jsonpFunction
- dva-hmr热更新问题
- 打包 Uglifyjs 报错问题
- 维护一个老的roadhog 1.x项目, 发现配置publicPath不生效. HOT 1
- 构建报UglifyJs错误 HOT 4
- 1.3.1升级到2.4.9报错,Can't resolve '@babel/runtime/helpers/esm/extends' HOT 1
- bug
- 2.x版本的roadhog如何配置postcss-px-to-viewport或者postcss-pxtorem呀? 试了下配置不生效
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from roadhog.