Estoy tratando de usar Webpack y babel para crear una salida compatible con ES5 de mi código mecanografiado. Sin embargo, el archivo bundle.js resultante aún incluye palabras clave de ES6 como let . ¿Cómo hago para que la salida sea verdaderamente compatible con ES5?
A continuación se muestra el archivo de configuración de mi paquete web:
const path = require('path'); module.exports = { mode: "production", entry: './src/intersight.ts', module: { rules: [ { test: /\.tsx?$/, use: [ { loader: 'babel-loader', options: { presets: [ ['@babel/preset-typescript'], ['@babel/preset-env', { targets: "defaults", forceAllTransforms: true }] ], } }, ], exclude: /node_modules/, }, ], }, resolve: { extensions: ['.tsx', '.ts', '.js'], modules: [ path.resolve('./node_modules') ], fallback: { crypto: require.resolve('crypto-browserify'), http: require.resolve('stream-http'), https: require.resolve('https-browserify'), stream: require.resolve('stream-browserify'), url: require.resolve('url'), } }, output: { filename: 'bundle.js', path: path.resolve(__dirname, 'dist'), libraryTarget: 'umd', globalObject: 'this' }, };Mira este documento . Si elimina en la matriz de ajustes preestablecidos "objetivos: predeterminado", debería apuntar a los navegadores más antiguos por documento.