Babel.config.js 仅用于开玩笑

发布于 2025-01-09 02:26:31 字数 190 浏览 1 评论 0原文

我们正在一个 React TypeScript 项目中使用 jest。如果存在带有预设的 babel.config.js:[@babel/preset-env] 则测试运行成功。 但由于该 babel 文件的存在,我们的 next.js Web 项目不再编译。

我如何设置这个 babel.config.js 仅用于 jest 而不是 next.js?

we are using jest on a react typescript project. If there is a babel.config.js with preset: [@babel/preset-env] the test running successfully.
But with the existence of that babel file our next.js web project is not compiling any more.

How can I setup this babel.config.js only for jest and not for next.js?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

临走之时 2025-01-16 02:26:31

@slideshowp2 的替代解决方案是有一个单独的 babelrc 文件专用于玩笑。

例如,您可以将其命名为 babel.config.testing.js,然后在您的 jest.config.js 文件中告诉 jest 使用这个专用的 babelrc 文件:

module.exports = {
  transform: {
    '\\.js

参考: https://github.com/facebook/jest/issues/3845#issuecomment-645298425

: ['babel-jest', { configFile: './Configuration/babel.config.testing.js' }] }, };

参考: https://github.com/facebook/jest/issues/3845#issuecomment-645298425

An alternate solution to @slideshowp2 is to have a separate babelrc file dedicated to jest only.

For example, you can call it babel.config.testing.js then in your jest.config.js file, you tell jest to use this dedicated babelrc file:

module.exports = {
  transform: {
    '\\.js

Ref: https://github.com/facebook/jest/issues/3845#issuecomment-645298425

: ['babel-jest', { configFile: './Configuration/babel.config.testing.js' }] }, };

Ref: https://github.com/facebook/jest/issues/3845#issuecomment-645298425

给我一枪 2025-01-16 02:26:31

请参阅让 Babel 配置具备 jest 意识

如果未设置为其他值,Jest 会将 process.env.NODE_ENV 设置为“test”。您可以在配置中使用它来有条件地仅设置 Jest 所需的编译,例如

babel.config.js:

module.exports = api => {
  const isTest = api.env('test');
  // You can use isTest to determine what presets and plugins to use.

  return {
    // ...
  };
};

See Making your Babel config jest-aware

Jest will set process.env.NODE_ENV to 'test' if it's not set to something else. You can use that in your configuration to conditionally setup only the compilation needed for Jest, e.g.

babel.config.js:

module.exports = api => {
  const isTest = api.env('test');
  // You can use isTest to determine what presets and plugins to use.

  return {
    // ...
  };
};
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文