MSW(模拟服务工作者)+ Vite:未捕获的ReferenceError:未定义需求

Dan*_*ach 1 javascript msw vite

我正在按照官方文档中的步骤安装该服务:https ://mswjs.io/docs/getting-started/install

这段代码:

if (process.env.NODE_ENV === 'development') {
  const { worker } = require('../tests/mocks/browser');
  worker.start();
}

Uncaught ReferenceError: require is not defined
Run Code Online (Sandbox Code Playgroud)

我已经使用 Vite 设置了该项目。解决这个问题的正确方法是什么。

小智 8

Vite不使用require,尝试使用import代替:

if (process.env.NODE_ENV === 'development') {
  const { worker } = await import('../tests/mocks/browser');
  worker.start();
}
Run Code Online (Sandbox Code Playgroud)

来源(虽然是另一个问题,但也适用于此):https ://github.com/vitejs/vite/issues/3409#issuecomment-841049875