繁体   English   中英

Mocking TypeScript 为 Storybook 导入

[英]Mocking TypeScript imports for Storybook

我正在尝试模拟要在 Storybook 中使用的模块的导入,但我只能使用 JavaScript 和 CJS 导入,而不是 TypeScript 和 ESM。 我当前的webpackFinal包含这个

config.resolve.alias['moduleToMock'] = require.resolve('../src/mocks/mockModule')
return config;

此当前配置不适用于 TypeScript 并且会抛出一个错误,指出找不到模拟模块。 如何将其配置为与 TypeScript 一起使用?

通常 TypeScript 仅在您尝试编译代码时抛出错误。 如果您在代码执行时遇到错误,这很可能与您的代码重写有关。 如果 Storybook 的webpackFinal已经支持 ESM 并且您需要同步导入模块,那么您可以为 require function 创建一个替换,如下所示:

import { createRequire } from 'module'
const require = createRequire(import.meta.url)

...

config.resolve.alias['moduleToMock'] = require.resolve('../src/mocks/mockModule')

希望能帮助到你。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM