Tengo que hacer que nuestro sitio web sea compatible con Internet Explorer, y es bastante complicado, ya que el navegador no entiende es6 (funciones de flecha y similares). He estado tratando de actualizar el paquete web y ajustar el paquete web y la configuración de babel para que se ajusten a nuestras necesidades. Esto funciona muy bien para nuestros propios archivos fuente, pero no en la carpeta node_modules . La sintaxis no es compatible con IE si no la incluimos en nuestra transpilación de babel, pero también falla si transpilamos la carpeta node_modules específica que falla (una dependencia dentro de la dependencia webpack-hot-middleware), dando un error de Uncaught Error: ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead. Espero tener la configuración incorrecta de babel o webpack aquí, pero he estado buscando respuestas en interwebz por un tiempo, pero aún no he encontrado la solución.
Estoy usando webpack 5 y babel-loader. Tengo un archivo .babelrc y un archivo webpack.config.js , aquí hay un fragmento de este último mientras trato de transpilar el paquete node_module que falla:
module: { rules: [ { test: /\.js$/, loader: 'babel-loader', exclude: [ { and: [/node_modules/], not: [ path.resolve( __dirname, "node_modules/webpack-hot-middleware/node_modules/ansi-regex" ) ] } ], options: { babelrc: false, presets: [ "@babel/preset-react", ["@babel/preset-env", { "corejs": { "version": 3 }, "useBuiltIns": "usage", "targets": { "edge": "17", "firefox": "60", "chrome": "67", "safari": "11.1", "ie": "10" }, }]], "plugins": [ "@babel/plugin-proposal-object-rest-spread", "@babel/plugin-proposal-optional-chaining", "@babel/plugin-proposal-nullish-coalescing-operator", "@babel/plugin-transform-arrow-functions" ] } }, [...] ] }