React-dnd: Ошибка Babel - ИспользованиС ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ ΠΎΠΏΡ†ΠΈΠΈ Babel 5

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π° 12 ΠΌΠ°Ρ€. 2016  Β·  16ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ  Β·  Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: react-dnd/react-dnd

Π― Π½ΠΎΠ²ΠΈΡ‡ΠΎΠΊ Π² babel, я настроил Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, установил babel, установил response-dnd Ρ‡Π΅Ρ€Π΅Π· bower, ΠΈ ΠΌΠΎΠΉ .babelrc ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ строку
{ "presets": ["es2015", "stage-0", "react"] }
Ошибка сборки модуля: 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

Π§Ρ‚ΠΎ я дСлаю Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ

Π‘Π°ΠΌΡ‹ΠΉ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

@ walter0331

Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ: 'ΠΌΠ»Π°Π΄Π΅Π½Π΅Ρ†-Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ'

Π­Ρ‚ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ.

ВсС 16 ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

ΠŸΡ€ΠΈΠ²Π΅Ρ‚ @ jagan-veeraraghavan! Как Π²Ρ‹ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚Π΅ react-dnd Π² Bower? Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π΄Π΅Π»Π°Ρ‚ΡŒ это Π²ΠΎΡ‚ Ρ‚Π°ΠΊ .

ΠŸΠΎΡ…ΠΎΠΆΠ΅, вмСсто этого Π²Ρ‹ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚Π΅ Bower Π½Π° вСсь Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Github. Π­Ρ‚ΠΎ Π½Π΅ сработаСт, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ .babelrc , ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» Babel 5, нСсовмСстимый с вСрсиСй Babel, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ (6). Π’ дистрибутивС npm этот Ρ„Π°ΠΉΠ» отсутствуСт (кстати, ΠΌΡ‹ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ npm вмСсто Bower).

Если я ошибаюсь, Π½Π΅ ΡΡ‚Π΅ΡΠ½ΡΠΉΡ‚Π΅ΡΡŒ снова ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ. Π― Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΡ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ gitter room для Ρ‚Π°ΠΊΠΈΡ… вопросов ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ, ΠΊΠ°ΠΊ этот.

ΠŸΡ€ΠΈΠ²Π΅Ρ‚, я столкнулся с Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ webpack ΠΈ 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

Π²ΠΎΡ‚ ΠΌΠΎΠΈ настройки:

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"]
}

webpack

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

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

ΠΊΡ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΌΠ½Π΅ ΠΏΠΎΠΌΠΎΡ‡ΡŒ, поТалуйста?

Ааа, я исправил это, ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΠ² node_modules Π² webpack.conf: dancers:

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

это Ρ€Π΅ΡˆΠ°Π΅Ρ‚ мою ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ, большоС Π²Π°ΠΌ спасибо!

@ walter0331

Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ: 'ΠΌΠ»Π°Π΄Π΅Π½Π΅Ρ†-Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ'

Π­Ρ‚ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ.

@billyjanitsch Π΄ΡƒΠΌΠ°Π»ΠΈ Π»ΠΈ Π²Ρ‹ ΠΎΠ± ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ babel? Π’Ρ‹ Π±Ρ‹Π»ΠΈ Π±Ρ‹ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ для ΠΏΠΈΠ°Ρ€Π° с Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ?

Π― столкнулся с этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ с Webpack ΠΈ Babel 6. Аналогично @ walter0331. МнС Π½ΡƒΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ это Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΎ Π² ΠΌΠΎΠ΅ΠΌ Babel, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΡ‹ выполняСм ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΌΠΈΠ½ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ node_modules поэтому ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ node_modules ΠΌΠ½Π΅ Π½Π΅ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΡΡΠ½ΠΈΡ‚ΡŒ, я Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ всС ΠΈΠΌΠ΅ΡŽΡ‚ Π² Π²ΠΈΠ΄Ρƒ Β«babel-loaderΒ», Π° Π½Π΅ Β«babe-loaderΒ».

loader: 'babel-loader'

Π― ΠΏΡ‹Ρ‚Π°ΡŽΡΡŒ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ с babel5.x Π½Π° 6.x ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽ Ρ‚Ρƒ ΠΆΠ΅ ΠΎΡˆΠΈΠ±ΠΊΡƒ. Π― ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ react, redux с babel 6 ΠΈ webpack.

НиТС моя конфигурация Π²Π΅Π±-ΠΏΠ°ΠΊΠ΅Ρ‚Π° (частичная)
ΠΌΠΎΠ΄ΡƒΠ»ΡŒ: {
Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠΈ: [
{тСст: /.svg$/, ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ: /.less$/, Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ: 'svg-inline'},
{тСст: /.coffee$/, loader: 'coffee-loader'},
{test: /.jsx?$/, ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ: / node_modules /,
ΠΏΠΎΠ³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠΈ:
['react-hot-loader / webpack', 'babel-loader?' + JSON.stringify ({
прСсСты: ['es2015', 'stage-0', 'react'],
ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹: ['transform-decorators-legacy',
['асинхронный ΠΌΠ΅Ρ‚ΠΎΠ΄ прСобразования Π² ΠΌΠΎΠ΄ΡƒΠ»ΡŒ',
{'ΠΌΠΎΠ΄ΡƒΠ»ΡŒ': 'синяя ΠΏΡ‚ΠΈΡ†Π°', 'ΠΌΠ΅Ρ‚ΠΎΠ΄': 'сопрограмма'}
]]
})
]
},
{test: /.less/, loader: 'style-loader! css-loader! less-loader'},
{тСст: /.css/, Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ: 'style-loader! css-loader'},
{тСст: /.json$/, Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ: 'json-loader'},
{тСст: /.gif$/, Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ: "url-loader? mimetype = image / png"},
{test: /.woff(2)?(\?v=[0-9une.[0-9 ].[0-9 ])?$/, loader: "url-loader? limit = 10000 & minetype = application / font-woff "},
{test: /.(ttf|eot|svg)(\?v=[0-9 ].[0-9 visible.[0-9] )?$/, loader: "file-loader"},
{тСст: /jquery.js$/, Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ: 'expose? jQuery'},
]
},

.babelrc

{
"presets": ["es2015", "react", "stage-0"],
"plugins": ["transform-decorators-legacy", ["transform-async-to-module-method", {
"ΠΌΠΎΠ΄ΡƒΠ»ΡŒ": "синяя ΠΏΡ‚ΠΈΡ†Π°",
"ΠΌΠ΅Ρ‚ΠΎΠ΄": "сопрограмма"
}]]
}

Π― Π·Π°ΠΌΠ΅Ρ‚ΠΈΠ» ΠΎΠ΄Π½Ρƒ Π²Π΅Ρ‰ΡŒ: это сообщСниС ΠΎΠ± ошибкС появляСтся Π² основном для Ρ„Π°ΠΉΠ»ΠΎΠ², Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ я ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΡŽ Promise ΠΈΠ· bluebird.

ΠšΡ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ?

ΡƒΠ΄Π°Ρ€. Π•ΡΡ‚ΡŒ Π»ΠΈ способ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΠΈ зависимостСй babel Π²ΠΎ врСмя сборки ...?

@ walter0331 большоС спасибо, эта ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° мСня Π½Π΅ смущаСт, ΠΏΠΎΠΊΠ° я Π½Π΅ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°ΡŽ вашС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅. Но я Π½Π΅ понимаю ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°, ΠΏΠΎΡ‡Π΅ΠΌΡƒ это ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ Ρ‚Π°ΠΊΠΎΠΉ настройкС : exclude: / (node_modules | bower_components).

@ ry928330 Π² основном disposables lib ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² react-dnd , Π° disposables ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ babel, Babel 5 (эта Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π½Π΅ поддСрТиваСтся). Если ΠΎΠ½ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ Π²Π΅Π±-ΠΏΠ°ΠΊΠ΅Ρ‚Π°, ΠΎΠ½ создаСт ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ сСйчас ΠΌΡ‹ находимся Π½Π° 6-ΠΉ вСрсии Babel. Π˜Ρ‚Π°ΠΊ, Π»ΡƒΡ‡ΡˆΠ΅Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ здСсь (ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅, Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ сработало для мСня), Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΡΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ всС node_modules, Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΡƒΡŽΡ‰ΠΈΠΉ.

Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ exclude: /(disposables)/ Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ вашСго Π²Π΅Π±-ΠΏΠ°ΠΊΠ΅Ρ‚Π° babel-loader, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

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

Π­Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅. НСваТно, какая вСрсия Babel disposables ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡ‚ΠΎΠΌ. Настоящая ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ node_modules с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Babel. Π­Ρ‚ΠΎ Π½Π΅ всСгда бСзопасно, ΠΈ Π²Π°ΠΌ Π½Π΅ слСдуСт этого Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли Π²Ρ‹ Π½Π΅ Π·Π½Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚Π΅, ΠΈ Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ (ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Π΄Ρ€ΡƒΠ³ΠΎΠΉ сигнал, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΠΎΠ»Π΅ engines ΠΈ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ).

Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, я ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π» «исправлСниС» Π² [email protected] . Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Ссли Π²Ρ‹ скомпилируСтС всС Π² node_modules Ρƒ вас Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹.

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

всС Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, спасибо!

Π― исправил Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ []
presets: [ ["es2015", { loose: false }] ]

это ΡΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ со ΠΌΠ½ΠΎΠΉ послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ я случайно Π΄ΠΎΠ±Π°Π²ΠΈΠ» stage: 1 Π² свой server/.babelrc Ρ„Π°ΠΉΠ».

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

исправлСно ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ΠΌ этого

{
  "presets": ["es2015", "stage-0"],
  "plugins": ["transform-runtime"],
}
Π‘Ρ‹Π»Π° Π»ΠΈ эта страница ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ?
0 / 5 - 0 Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ