Giter Site home page Giter Site logo

Comments (24)

sorrycc avatar sorrycc commented on September 26, 2024 1

https://github.com/halt-hammerzeit/require-hacker,暂时用不上了。

from roadhog.

sorrycc avatar sorrycc commented on September 26, 2024 1

不冲突,先走 .roadhogrc 的 proxy,再走 mock 的。

from roadhog.

sorrycc avatar sorrycc commented on September 26, 2024

https://github.com/brennancheung/express-remove-route

from roadhog.

sorrycc avatar sorrycc commented on September 26, 2024

记录下方案。

配置形式

.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.

sorrycc avatar sorrycc commented on September 26, 2024

from roadhog.

FEliuyg avatar FEliuyg commented on September 26, 2024

本地新建.roadhogrc.mock.js,里面编写
export default {
'POST /api/results': {
data: [...],
page: {...},
success: true,
}
}
调用接口 /results时,访问不到怎么回事?

from roadhog.

sorrycc avatar sorrycc commented on September 26, 2024

注意文档格式:

from roadhog.

sorrycc avatar sorrycc commented on September 26, 2024

你定义了 /api/results,为何要访问 /results

from roadhog.

FEliuyg avatar FEliuyg commented on September 26, 2024

之前的mock方案是自动添加/api的,现在我两个接口 '/api/results'和‘/results’都尝试了,还是报404错误

from roadhog.

FEliuyg avatar FEliuyg commented on September 26, 2024

其他地方需要改动什么吗?比如引入文件,修改配置什么的?

from roadhog.

sorrycc avatar sorrycc commented on September 26, 2024

roadhog 是 0.5.0 版本?

from roadhog.

sorrycc avatar sorrycc commented on September 26, 2024

然后你访问的是 POST 接口?

from roadhog.

FEliuyg avatar FEliuyg commented on September 26, 2024

npm 安装最新的是0.4.3 版本0.5.0的下载npm install 不了

from roadhog.

sorrycc avatar sorrycc commented on September 26, 2024

抱歉,忘记 npm publish 了。。重新安装试试。

from roadhog.

FEliuyg avatar FEliuyg commented on September 26, 2024

OK,可以了,太棒了!又可以在没有后端的情况下好好玩耍了。

from roadhog.

gzbigegg avatar gzbigegg commented on September 26, 2024

这是我的配置文件:

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.

sorrycc avatar sorrycc commented on September 26, 2024

body 漏加了,在 #86 跟进。

from roadhog.

henryzp avatar henryzp commented on September 26, 2024

mark

from roadhog.

jindada avatar jindada commented on September 26, 2024

@sorrycc @FEliuyg 用mock的时候 .roadhogrc中的proxy应该怎么配置啊

from roadhog.

FEliuyg avatar FEliuyg commented on September 26, 2024

@jindada proxy可以不用配置,值为null。本地增加一个.roadhogrc.mock.js, mock接口数据在里面配置就可以了

from roadhog.

zhanzl1 avatar zhanzl1 commented on September 26, 2024

你是怎么配置的?我的也不起效果

from roadhog.

DrakeXiang avatar DrakeXiang commented on September 26, 2024

如果在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.

sorrycc avatar sorrycc commented on September 26, 2024

@DrakeXiang 都 proxy 到另一个服务器了,再配 mock 规则肯定无效了吧。

from roadhog.

DrakeXiang avatar DrakeXiang commented on September 26, 2024

@sorrycc 额,我是小白,之前以为把61814这个端口打开就可以了,周末折腾了一下,最后还是把proxy去掉了

from roadhog.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.