Tôi gặp sự cố khi giải pháp của @ Juho chạy với Webpack 2. Các tài liệu di chuyển Webpack đề nghị bạn chuyển phân tích mô-đun babel:
Điều quan trọng cần lưu ý là bạn sẽ muốn nói với Babel không phân tích các ký hiệu mô-đun này để webpack có thể sử dụng chúng. Bạn có thể làm điều này bằng cách đặt các tùy chọn sau trong các tùy chọn .babelrc hoặc babel-loader của bạn.
.babelrc:
{
"presets": [
["es2015", { "modules": false }]
]
}
Đáng buồn thay, điều này mâu thuẫn với chức năng đăng ký babel tự động. Đang gỡ bỏ
{ "modules": false }
từ cấu hình babel có những thứ chạy lại. Tuy nhiên, điều này sẽ dẫn đến phá vỡ rung cây, do đó, một giải pháp hoàn chỉnh sẽ liên quan đến việc ghi đè lên các cài đặt trước trong các tùy chọn trình tải :
module: {
rules: [
{
test: /\.js$/,
include: path.resolve('src'),
loader: 'babel-loader',
options: {
babelrc: false,
presets: [['env', {modules: false}]]
}
}
]
}
Chỉnh sửa , ngày 13 tháng 11 năm 2017; cập nhật đoạn mã cấu hình webpack lên Webpack 3 (nhờ @ x-yuri). Cũ, Webpack 2 đoạn:
{
test: /\.js$/,
exclude: ['node_modules'],
loader: 'babel',
query: {
babelrc: false,
presets: [
['es2015', { modules: false }],
],
},
},