Estoy usando webpack para generar el paquete para el código de interfaz de usuario/interfaz de usuario. Estoy usando reaccionar como una biblioteca frontend. Entiendo que webpack usa cargadores para procesar diferentes contenidos que encuentra en la fuente. Si tiene un cargador para algo, sabrá qué hacer con él. En este caso, babel-loader y @babel/preset-react se están utilizando @babel-preset/env para decirle al paquete web qué hacer con las nuevas características de es y JSX. Ahora aquí está mi problema:
Dado que estoy usando electron, ya tiene muchas de las excelentes funciones, como funciones de flecha, operador de propagación, asíncrono / espera y mucho más, y aunque se proporciona el paquete web como el electron-renderer destino, todavía no sabe que no necesita compilar estas cosas a un código equivalente que no necesita compilarse en el entorno dado.
¿Cómo evito esta transpilación innecesaria? Como referencia, aquí está la configuración de mi paquete web.
const path = require('path'); module.exports = { entry: './renderer/index.js', target: 'electron-renderer', output: { path: path.resolve(__dirname, 'build'), filename: 'bundle.js', }, module: { rules: [ { test: /\.js$/, include: path.resolve(__dirname, 'renderer'), use: { loader: 'babel-loader', options: { presets: ['@babel/preset-env', '@babel/preset-react'], }, }, }, ], }, devtool : false, resolve: { extensions: ['.js'], }, };