React-dnd: Error de Babel: uso de la opción Babel 5 eliminada

Creado en 12 mar. 2016  ·  16Comentarios  ·  Fuente: react-dnd/react-dnd

Soy un novato de babel, configuré un nuevo proyecto, instalé babel, instalé react-dnd a través de bower y mi .babelrc tiene la siguiente línea
{ "presets": ["es2015", "stage-0", "react"] }
Error de compilación del módulo: ReferenceError:

[BABEL] <path>\bower_components\react-dnd\src\index.js: Using removed Babel 5 option: <path>\bower_components\react-dnd\.babelrc.stage - Check out the corresponding stage-x presets http://babeljs.io/docs/plugins/#presets

Qué estoy haciendo mal

Comentario más útil

@ walter0331

cargador: 'babe-loader'

Esto debería ser una cosa.

Todos 16 comentarios

¡Hola @ jagan-veeraraghavan! ¿Cómo incluyes react-dnd en Bower? Que debería estar haciendo así que como esto .

Parece que, en cambio, podría estar apuntando a Bower a todo el repositorio de Github. Esto no funcionará porque incluye .babelrc , un archivo de configuración de Babel 5 incompatible con la versión de Babel que estás usando (6). La distribución npm omite este archivo (por cierto, sugerimos usar npm sobre Bower).

Si me equivoco, no dudes en reabrir el problema. También recomendaría la sala de gitter para preguntas de soporte como esta.

Hola, me encontré con un problema similar, usando webpack y babel 6.

ERROR in ./~/dnd-core/lib/index.js
Module build failed: ReferenceError: [BABEL] /node_modules/dnd-core/lib/index.js: 
Using removed Babel 5 option: /node_modules/dnd-core/.babelrc.stage - Check out the corresponding stage-x presets http://babeljs.io/docs/plugins/#presets

aquí están mis configuraciones:

package.json

{
  "devDependencies": {
    "babel-core": "^6.3.26",
    "babel-loader": "^6.2.1",
    "babel-preset-es2015": "^6.3.13",
    "babel-preset-react": "^6.3.13",
    "babel-preset-stage-0": "^6.5.0",
    "css-loader": "^0.23.1",
    "extract-text-webpack-plugin": "^1.0.1",
    "file-loader": "^0.8.5",
    "jquery": "^2.2.1",
    "less": "^2.6.1",
    "less-loader": "^2.2.2",
    "style-loader": "^0.13.0",
    "url-loader": "^0.5.7",
    "webpack": "^1.12.9",
    "webpack-dev-server": "^1.14.0"
  },
  "dependencies": {
    "babel-polyfill": "^6.3.14",
    "expose-loader": "^0.7.1",
    "jquery": "^2.1.4",
    "lodash": "^3.10.1",
    "react": "^0.14.7",
    "react-dnd": "^2.1.3",
    "react-dnd-html5-backend": "^2.1.2",
    "react-dom": "^0.14.7",
    "tracking": "^1.1.2"
  }
}

.babelrc

{
  "presets": ["react", "es2015", "stage-0"]
}

paquete web

var webpack = require('webpack');
var ExtractTextPlugin = require("extract-text-webpack-plugin");

module.exports = {
  module: {
    loaders: [
      {
        test: /\.js$/,
        loader: 'babel-loader'
      }
    ]
  }
};

alguien me puede ayudar por favor?

Ahhh, lo arreglé excluyendo node_modules en webpack.conf: dancers:

      {
        exclude: /(node_modules|bower_components)/,
        test: /\.js$/,
        loader: 'babe-loader'
      },

resuelve mi problema, muchas gracias!

@ walter0331

cargador: 'babe-loader'

Esto debería ser una cosa.

@billyjanitsch ¿ ha considerado actualizar babel? ¿Estarías abierto a las relaciones públicas con él?

Me estoy encontrando con este problema con Webpack y Babel 6. De manera similar a @ walter0331. Necesito mantener esto funcionando en mi Babel ya que estamos haciendo una minificación personalizada de node_modules por lo que excluir node_modules no me ayudará.

Solo para aclarar, creo que todo el mundo quiere decir "cargador de babel" en lugar de "cargador de bebé".

loader: 'babel-loader'

Estoy intentando actualizar de babel5.xa 6.xy obteniendo este mismo error. Estoy usando react, redux con babel 6 y webpack.

A continuación se muestra la configuración de mi paquete web (parcial)
módulo: {
cargadores: [
{prueba: /.svg$/, exclude: /.less$/, cargador: 'svg-inline'},
{prueba: /.coffee$/, loader: 'coffee-loader'},
{prueba: /.jsx?$/, exclude: / node_modules /,
cargadores:
['react-hot-loader / webpack', 'babel-loader?' + JSON.stringify ({
preajustes: ['es2015', 'stage-0', 'react'],
complementos: ['transform-decorators-legacy',
['transform-async-to-module-method',
{'módulo': 'pájaro azul', 'método': 'corrutina'}
]]
})
]
},
{prueba: /.less/, loader: 'style-loader! css-loader! less-loader'},
{prueba: /.css/, loader: 'style-loader! css-loader'},
{prueba: /.json$/, loader: 'json-loader'},
{prueba: /.gif$/, loader: "url-loader? mimetype = image / png"},
{prueba: /.woff(2)?(\?v=[0-9].[0-9].[0-9])?$/, loader: "url-loader? limit = 10000 & minetype = application / font-woff "},
{prueba: /.(ttf|eot|svg)(\?v=[0-9].[0-9].[0-9])?$/, loader: "file-loader"},
{prueba: /jquery.js$/, loader: 'expose? jQuery'},
]
},

.babelrc

{
"presets": ["es2015", "react", "stage-0"],
"plugins": ["transform-decorators-legacy", ["transform-async-to-module-method", {
"módulo": "pájaro azul",
"método": "corrutina"
}]]
}

Noté una cosa que este mensaje de error aparece principalmente para los archivos donde estoy importando Promise desde 'bluebird'.

¿Alguien puede ayudar?

protuberancia. ¿Hay alguna forma de ignorar las configuraciones de dependencias de babel en el momento de la compilación ...?

@ walter0331 muchas gracias, este problema no me confunde tanto hasta que leo su solución. Pero no entiendo el principio de por qué puede funcionar configurando así: exclude: / (node_modules | bower_components).

@ ry928330 básicamente, disposables lib se usa en react-dnd , y disposables usa una versión obsoleta de Babel, Babel 5 (esta biblioteca no se mantiene). Si se incluye en la configuración del paquete web, crea un conflicto porque ahora estamos en la versión 6 de Babel. Entonces, la mejor solución aquí (al menos lo que funcionó para mí), no es necesariamente excluir todos los node_modules, sino solo el conflictivo.

agregue exclude: /(disposables)/ en su configuración de paquete web babel-loader, por ejemplo:

{
     test: /\.js$/,
     exclude: /(disposables)/,
     loader: 'babel-loader',
}

Ésa es la solución correcta. Es irrelevante qué versión de Babel disposables usa bajo el capó. El verdadero problema es que estás intentando compilar node_modules con Babel. Esto no siempre es seguro y no debe hacer esto a menos que sepa lo que está haciendo y solo opte por paquetes específicos (o use otra señal como el campo engines e ignore la configuración).

Dicho esto, publiqué una "corrección" en [email protected] . Aún así, si compila todo en node_modules , está buscando problemas.

mix.webpackConfig({ module: { rules: [{ test: /\.jsx?$/, exclude: /(node_modules|bower_components)/, use: { loader: 'babel-loader', options: Config.babel() } }] } })

funciona, gracias!

Lo arreglé agregando []
presets: [ ["es2015", { loose: false }] ]

esto me sucedió después de agregar inadvertidamente stage: 1 a mi archivo server/.babelrc .

{
  "presets": ["es2015", "stage-0"],
  "plugins": ["transform-runtime"],
   stage: 1
}

arreglado eliminando esto

{
  "presets": ["es2015", "stage-0"],
  "plugins": ["transform-runtime"],
}
¿Fue útil esta página
0 / 5 - 0 calificaciones