Может Babel скомпилировать в ES6 из ESNext ? Если нет, то что я должен использовать для компиляции JS в ES6 для современного браузера, а также в ES5 для старого браузера, используя тип сценария module / nomodule , используя webpack4
Я использую webpack 4.41 с babel 7.6 , и я хотел бы скомпилировать мой код в es6 и es5 в производстве, но я не могу найти хороший способ сделать это. Прямо сейчас Babel компилируется только в es5 .
Если есть другой пакет, который может обработать это, он должен поддерживать Декораторы
Это мой конфигурационный файл webpack
const path = require('path')
const { CleanWebpackPlugin } = require('clean-webpack-plugin')
const MiniCssExtractPlugin = require('mini-css-extract-plugin')
module.exports = {
entry: {
app: './app.js',
dashboard: './dashboard.js',
data: './data.js',
show: './show.js',
new: './new.js'
},
output: {
filename: '[name].js',
chunkFilename: '[name].bundle.js',
path: path.resolve(__dirname, '../scripts'),
publicPath: '/static/scripts/'
},
mode: 'development',
module: {
rules: [
{
test: /\.m?js$/,
exclude: /(node_modules|bower_components)/,
use: {
loader: 'babel-loader',
options: {
presets: ['@babel/preset-env'],
plugins: [['@babel/plugin-proposal-decorators', { decoratorsBeforeExport: true }], ['@babel/plugin-proposal-class-properties', { loose: true }], ['@babel/plugin-proposal-private-methods', { loose: true }]]
}
}
},
{
test: /\.(sa|sc|c)ss$/,
use: [
{
loader: MiniCssExtractPlugin.loader,
options: {
hmr: process.env.NODE_ENV === 'development'
},
},
'css-loader',
'postcss-loader',
'sass-loader',
],
},
],
},
plugins: [
new CleanWebpackPlugin(),
new MiniCssExtractPlugin({
filename: '../styles/app.css',
chunkFilename: '[id].css',
})
]
}