如何使用 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 条目添加到由外部(第三方)域提供商托管的域
如何在连接到 API(在 Yii 中)的移动应用程序(cordova)上启用跨域资源共享