Necesito ayuda para diagnosticar y solucionar este error:

"Error: only one instance of babel-polyfill is allowed"

Tengo el siguiente en mi paquete.json:

"devDependencies": {
    "babel-core": "^6.23.1",
    "babel-jest": "^19.0.0",
    "babel-loader": "^6.3.2",
    "babel-plugin-transform-object-rest-spread": "^6.23.0",
    "babel-preset-es2015": "^6.22.0",
    "babel-preset-react": "^6.23.0" ...

"dependencies": {
    "babel-polyfill": "^6.23.0" ...

Y esta y esta entrada de la línea en mi webpack config:

entry: ["babel-polyfill", path.resolve(APP_PATH, 'index')],
...
module: {
 rules: [
  {
    test: /\.js$/,
    exclude: /node_modules/,
    loader: 'babel-loader',
    query: {
      //specify that we will be dealing with React code
      presets: ['react', 'es2015']
    }
  }
]}
  • Parece que el culpable es HtmlWebpackPlugin en mi webpack config. Si puedo eliminar este plugin, yo, el error desaparece.
  • pruebe a cambiar la entrada: [«babel-relleno», ruta de acceso.resolver(APP_PATH, ‘index’)] a la entrada: [ruta de acceso.resolver(APP_PATH, ‘index’)]
  • Estoy usando babel-relleno sintético, por lo que necesito en algún lugar. También puedo añadir una importación en algún lugar, pero me sale el mismo mensaje de error. Si me lo quite obtengo errores: Uncaught ReferenceError: regeneratorRuntime no está definido.
InformationsquelleAutor foobar | 2017-05-10

4 Comentarios

  1. 9

    Si el culpable es HtmlWebpackPlugin, es necesario añadir la opción inject: false cuando la creación de instancias del plugin. Ciertas configuraciones sin esta opción hace que tu construido código javascript para ser cargado dos veces.

    • Esto funcionó para mí
    • Muchas gracias por esta respuesta! Trabajó también para mí
  2. 4

    Idempotente Babel Relleno puede ser importado varias veces

    Instalar desde MECANISMO nacional de prevención

    npm install --save idempotent-babel-polyfill

    A continuación, importarlo

    import 'idempotent-babel-polyfill';
  3. 3

    Only one instance of babel-polyfill is allowed generalmente aparece si el orden de los archivos que se están envueltos no es correcta al momento de hacer uso de CommonsChunkPlugin o HtmlWebpackPlugin.

    para HtmlWebpackPlugin manualmente, puede ordenar los archivos con chunksSortMode

    Utilizando "webpack": "^1.14.0":

    new HtmlWebpackPlugin({
      ...
      chunksSortMode: 'dependency',
      ...
    }),

    Fuente: gdi2290 @ GitHub – 1 de Jul. 2016 /22 de enero. 2018

  4. 0

    Posiblemente, usted está consiguiendo que indirectamente de algún otro módulo de babel.

    Posibles Soluciones:

    1. Hacer todas las versiones de babel módulos de la misma.Posiblemente el error es debido a las diferentes versiones de babel-polyfil.
    2. Quitar babel-polyfil de paquete.json, así que será utilizado a partir

      babel-plugin-transformar-objeto-resto-propagación.

    de referencia:
    https://github.com/babel/babel/issues/1019

    comentario por jameslk

    Me imaginé que fuera de todos modos. Parece babel-tiempo de ejecución ha sido trasladado a babel-plugin-transformar-tiempo de ejecución, y esto necesita ser añadido a la lista de plugins para usarlo. Sería de ayuda si que fue documentada en algún lugar.

    • Lo siento por la respuesta tardía y muchas gracias por tu respuesta. He probado varias cosas y terminó la eliminación de HtmlWebpackPlugin de mis dependencias. No es una solución ideal, pero al menos que el error se ha ido. Teniendo en cuenta las dos soluciones: 1. Sólo pude encontrar una babel-relleno de instalación en mi nodo-módulos, 2. después de la eliminación de babel-el polyfil me sigue apareciendo el mismo error. Creo que, el problema es que me había babel-cli y html-webpack-plugin en mi dependencias y yo no podía entender cómo hacer que co-existen.

Dejar respuesta

Please enter your comment!
Please enter your name here