React-dnd: Kesalahan Babel -Menggunakan opsi Babel 5 yang dihapus

Dibuat pada 12 Mar 2016  ·  16Komentar  ·  Sumber: react-dnd/react-dnd

Saya seorang pemula babel, saya menyiapkan proyek baru, menginstal babel, menginstal react-dnd melalui bower dan .babelrc saya memiliki baris berikut
{ "presets": ["es2015", "stage-0", "react"] }
Pembuatan modul gagal: 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

Apa yang saya lakukan salah?

Komentar yang paling membantu

@walter0331

pemuat: 'babe-loader'

Ini harus menjadi sesuatu.

Semua 16 komentar

Hai @jagan-veeraraghavan! Bagaimana Anda memasukkan react-dnd di Bower? Anda harus melakukannya seperti ini .

Sepertinya Anda mungkin mengarahkan Bower ke seluruh repo Github. Ini tidak akan berfungsi karena menyertakan .babelrc , file konfigurasi Babel 5 yang tidak kompatibel dengan versi Babel yang Anda gunakan (6). Distribusi npm menghilangkan file ini (btw, kami sarankan menggunakan npm melalui Bower).

Jika saya salah, jangan ragu untuk membuka kembali masalah ini. Saya juga merekomendasikan ruang gitter untuk pertanyaan dukungan seperti ini.

HI, saya mengalami masalah serupa, menggunakan webpack dan 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

di sini adalah pengaturan saya:

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

paket web

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

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

ada yang bisa bantu saya tolong?

Ahhh, saya memperbaikinya dengan mengecualikan node_modules di webpack.conf :dancers:

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

itu memecahkan masalah saya, terima kasih banyak!

@walter0331

pemuat: 'babe-loader'

Ini harus menjadi sesuatu.

@billyjanitsch apakah Anda sudah mempertimbangkan untuk memperbarui babel? Apakah Anda akan terbuka untuk PR dengan itu?

Saya mengalami masalah ini dengan Webpack dan Babel 6. Sama seperti @walter0331. Saya harus tetap menjalankan ini melalui Babel saya karena kami sedang melakukan minifikasi khusus node_modules jadi mengecualikan node_modules tidak akan membantu saya.

Hanya untuk memperjelas, saya pikir semua orang berarti "babe-loader" daripada "babe-loader".

loader: 'babel-loader'

Saya mencoba memutakhirkan dari babel5.x ke 6.x dan mendapatkan kesalahan yang sama. Saya menggunakan reaksi, redux dengan babel 6 dan webpack.

Di bawah ini adalah konfigurasi webpack saya (sebagian)
modul: {
pemuat: [
{ tes: /.svg$/, kecualikan: /.less$/, loader: 'svg-inline'},
{ tes: /.kopi$/, pemuat: 'pemuat kopi' },
{ tes: /.jsx?$/, kecualikan: /node_modules/,
pemuat:
['react-hot-loader/webpack', 'babel-loader?' + JSON.stringify({
preset: ['es2015','stage-0','react'],
plugin: ['transform-decorators-legacy',
['transform-async-to-module-method',
{'modul': 'bluebird', 'metode': 'coroutine'}
]]
})
]
},
{ tes: /.less/, loader: 'style-loader!css-loader!less-loader' },
{ tes: /.css/, loader: 'style-loader!css-loader' },
{ tes: /.json$/, pemuat: 'json-loader' },
{ tes: /.gif$/, loader: "url-loader?mimetype=image/png" },
{ tes: /.woff(2)?(\?v=[0-9].[0-9].[0-9])?$/, loader: "url-loader?limit=10000&minetype=application/ font-woff" },
{ tes: /.(ttf|eot|svg)(\?v=[0-9].[0-9].[0-9])?$/, loader: "file-loader" },
{ tes: /jquery.js$/, loader: 'expose?jQuery' },
]
},

.babelrc

{
"preset": ["es2015", "bereaksi", "tahap-0"],
"plugins": ["transform-decorators-legacy", ["transform-async-to-module-method", {
"modul": "bluebird",
"metode": "coroutine"
}]]
}

Saya perhatikan satu hal bahwa pesan kesalahan ini sebagian besar muncul untuk file tempat saya mengimpor Janji dari 'bluebird'.

Adakah yang bisa membantu?

menabrak. Apakah ada cara untuk mengabaikan konfigurasi babel dari dependensi pada waktu pembuatan ...?

@walter0331 terima kasih banyak, masalah ini tidak membuat saya bingung sampai saya membaca solusi Anda. Tapi saya tidak mengerti prinsip mengapa itu bisa berhasil dengan pengaturan seperti ini kecualikan: /(node_modules|bower_components).

@ry928330 pada dasarnya, disposables lib digunakan dalam react-dnd , dan disposables menggunakan versi babel yang sudah ketinggalan zaman, Babel 5 (perpustakaan ini tidak dikelola). Jika disertakan dalam konfigurasi webpack, akan menimbulkan konflik karena kita sekarang menggunakan Babel versi 6. Jadi solusi yang lebih baik di sini (setidaknya yang berhasil untuk saya), tidak harus mengecualikan semua node_modules, tetapi hanya yang bertentangan.

tambahkan exclude: /(disposables)/ di konfigurasi webpack babel-loader Anda, misalnya:

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

Itu solusi yang tepat. Tidak relevan versi Babel disposables digunakan di bawah tenda. Masalah sebenarnya adalah Anda mencoba mengkompilasi node_modules dengan Babel. Ini tidak selalu aman dan Anda tidak boleh melakukan ini kecuali Anda tahu apa yang Anda lakukan dan hanya memilih paket tertentu (atau menggunakan sinyal lain seperti bidang engines dan mengabaikan konfigurasi).

Yang mengatakan saya menerbitkan "perbaikan" di [email protected] . Namun, jika Anda mengkompilasi semuanya di node_modules Anda meminta masalah.

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

itu bekerja, terima kasih!

Saya memperbaikinya dengan menambahkan []
presets: [ ["es2015", { loose: false }] ]

ini terjadi pada saya setelah saya secara tidak sengaja menambahkan stage: 1 ke file server/.babelrc .

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

diperbaiki dengan menghapus ini

{
  "presets": ["es2015", "stage-0"],
  "plugins": ["transform-runtime"],
}
Apakah halaman ini membantu?
0 / 5 - 0 peringkat