Estoy tratando de usar Rollup.js para construir JS para que sea compatible con IE11. Después de un par de horas muy frustrantes jugando con varias opciones de configuración, encontré lo siguiente:
import resolve from "@rollup/plugin-node-resolve" import { babel } from '@rollup/plugin-babel'; export default { input: "app/javascript/application.js", output: { file: "app/assets/builds/application.js", format: "es", inlineDynamicImports: true, sourcemap: true }, plugins: [ babel({ presets: [ [ "@babel/preset-env", { "useBuiltIns": "usage", "debug": true, "corejs": "3" } ] ] }), resolve(), ] } Mirando las entradas de depuración, parece que mis polyfills se están agregando (¿sí?). Sin embargo, parece que se agregan con require s por alguna razón, ya que cuando intento ejecutar el JS en mi navegador, obtengo:
Uncaught ReferenceError: require is not definedLas líneas de código ofensivas parecen ser:
var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support'); var redefine$2 = require('../internals/redefine'); var toString$3 = require('../internals/object-to-string'); // `Object.prototype.toString` method // https://tc39.es/ecma262/#sec-object.prototype.tostring Pero no entiendo por qué debería ser esto, seguramente si Babel está transfiriendo código para el navegador, entonces require no debería estar cerca de mi código. ¡Por favor, ayuda, me estoy arrancando el poco pelo que me queda por esto!