如何在 Cypress 10+ 中扩展 Webpack 配置

Nic*_*tte 6 cypress

我正在尝试扩展 Cypress 10.8.0 中的 Webpack 配置,但我能找到的唯一文档是指“遗留插件文件”: https: //github.com/cypress-io/cypress/tree/master/npm /webpack-预处理器#修改默认选项

我想有一种方法可以直接在cypress.config文件中执行此操作,但是如何呢?

Nic*_*tte 8

我实际上最终找到了方法(可能赛普拉斯文档应该在某个时候更新)。以下是“Polyfill”前缀模块的示例node:

import { defineConfig } from "cypress";
import webpackPreprocessor from "@cypress/webpack-preprocessor";
import Webpack from "webpack";

export default defineConfig({
  e2e: {
    baseUrl: "http://localhost:3000",
    setupNodeEvents(on) {
      const options = webpackPreprocessor.defaultOptions;
      options.webpackOptions.plugins = options.webpackOptions.plugins ?? [];
      options.webpackOptions.plugins.push(
        new Webpack.NormalModuleReplacementPlugin(
          /^node:/,
          (resource: { request: string }) => {
            resource.request = resource.request.replace(/^node:/, "");
          }
        )
      );

      on("file:preprocessor", webpackPreprocessor(options));
    },
  },
});
Run Code Online (Sandbox Code Playgroud)