# config.api 作为函数

这时候会向函数传入一个 util 对象:

util 目前包含以下内容:

# util.run.curl

  • 功能: 运行 curl 命令, 并返回结果, 会把响应头绑定到自定义 api 上.
  • 示例:
      mockm: (util) => {
        return {
          api: ({run}) => {
            return {
              'get /curl' (req, res, next) { // 运行 curl/bash 命令并获取执行结果
                // 示例 curl/bash 命令
                const cmd = `
                  curl 'http://www.httpbin.org/ip' \
                    -H 'Accept: */*' \
                    -H 'Accept-Language: zh-CN,zh;q=0.9' \
                    --compressed \
                    --insecure
                `
                run.curl({req, res, cmd}).then(curRes => {
                  res.send(curRes.body)
                })
              },
            }
          },
        }
      },

# util.run.fetch

  • 功能: 运行 fetch 方法并返回结果, 会把响应头绑定到自定义 api 上, 它是对 node-fetch 的一个封装.
  • 示例:
      mockm: (util) => {
        return {
          api: ({run}) => {
            return {
              async 'get /fetch' (req, res, next) { // 运行 fetch 方法并获取执行结果
                const fetch = await util.toolObj.generate.initPackge(`node-fetch`)
                // 示例 fetch 方法
                const fetchRes = fetch(`http://www.httpbin.org/ip`, {
                  "headers": {
                    "accept": `*/*`,
                    "accept-language": `zh-CN,zh;q=0.9`,
                  },
                })
                run.fetch({
                  req,
                  res,
                  fetchRes,
                }).then(async thenRes => {
                  const thenResOk = await thenRes.buffer()
                  res.send(thenResOk)
                }).catch(err => console.log(`err`, err))
              },
            }
          },
        }
      },
FQA

与 config.fn 有什么不同
config.fn 中的传入的工具不需要先读取 config 中的选项, 但是 config.api.fn 需要.

最后更新时间: 4/20/2022, 6:25:20 PM