如何使用 mswjs 模拟外部域/资源?

Posted

技术标签:

【中文标题】如何使用 mswjs 模拟外部域/资源?【英文标题】:How to mock an external domain/resource using mswjs? 【发布时间】:2021-12-28 11:48:31 【问题描述】:

我想使用 mswjs 来模拟一些外部 API(不在 localhost 上),我在网上找不到任何关于这是否可能的信息。

我需要同时模拟本地主机资源和外部资源。

有人可以提供一个如何做的示例配置吗?

如果重要的话,我正在使用 Storybook 插件。

【问题讨论】:

【参考方案1】:

您可以使用 MSW 模拟任何资源,无论它是外部的还是本地的。

提供您希望拦截的资源的路径,并在您的响应解析器函数中描述模拟逻辑:

import  rest  from 'msw'

export const handlers = [
  rest.get('https://api.github.com', (req, res, ctx) => 
    return res(ctx.json( mocked: true ))
  )
]

看看project's README,它以模拟外部资源的示例为特色。

【讨论】:

以上是关于如何使用 mswjs 模拟外部域/资源?的主要内容,如果未能解决你的问题,请参考以下文章

我们如何使用 Route53 将 DNS 条目添加到由外部(第三方)域提供商托管的域

如何在 AnyLogic 7 中从外部源获取资源容量?

如何在 Vue 中使用外部作用域 scss

如何在连接到 API(在 Yii 中)的移动应用程序(cordova)上启用跨域资源共享

如何使用模拟的 graphql API 和外部服务的 GraphQL 端点

如何将 jQuery AJAX 用于外部域?