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?
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"],
}
Komentar yang paling membantu
@walter0331
Ini harus menjadi sesuatu.