El paquete ‘crypto-js’ está generando un error en el paquete de Webpack en IE11.
Soy nuevo en webpack y babel. Estoy desarrollando una aplicación de React con una configuración personalizada de webpack y babel.
Había agregado react-app-polyfill a esta aplicación y funcionaba bien en IE11. Pero después de instalar crypto-js, cuando ejecuto el servidor de webpack localmente en IE11, el paquete de webpack lanza un error expected ')'
.
Busqué este error y descubrí que esto ocurre con el parámetro predeterminado, que es una característica de ES6 (asumo que crypto-js fue escrito con algunas características de ES6). Entonces, eliminé la exclusión de node_modules en el archivo webpack-local-config.js
para transpilar los paquetes de nodos.
Desde:
module: {
rules: [{
test: /\.(js|jsx)$/,
exclude: /node_modules/,
use: {
loader: 'babel-loader'
}
}]
}
A:
module: {
rules: [{
test: /\.(js|jsx)$/,
include: [
path.resolve(__dirname, 'node_modules/crypto-js')
],
exclude: /node_modules/,
use: {
loader: 'babel-loader'
}
}]
}
Pero esto no funcionó, así que intenté lo siguiente:
module: {
rules: [{
test: /\.(js|jsx)$/,
use: {
loader: 'babel-loader'
}
}]
}
Pero estos intentos no solucionaron el problema.
Hablando honestamente, creo que estoy completamente atascado y no estoy seguro de cómo podría resolver el problema.
¿Qué haces si solo un paquete no es compatible con el navegador IE 11?
Versión:
webpack: ^4.44.1
webpack-cli: ^3.3.12
webpack-dev-server: ^3.7.1
¡Gracias!
davy.ai
Solución para el error de webpack y babel con crypto-js en IE11
Si solo un paquete como crypto-js no es compatible con el navegador IE11, puedes intentar los siguientes pasos para solucionar el problema.
Paso 1: Instalar core-js
Instala el paquete npm core-js, ya que proporciona polyfills para funciones que no están disponibles en navegadores antiguos como IE11.
Paso 2: Configurar babel
Añade las siguientes líneas a tu archivo
.babelrc
para incluir core-js y habilitar el uso de parámetros por defecto.Esto transpilará tu código con polyfills de core-js y habilitará el uso de parámetros por defecto.
Paso 3: Actualizar la configuración de webpack
Actualiza la configuración de webpack para incluir el paquete
core-js
y transpilarlo también.Esto excluye automáticamente
node_modules
, pero incluyecore-js
para ser transpilado.Paso 4: Probar en IE11
Ejecuta el servidor de webpack localmente en IE11 después de estos cambios y verifica si se resuelve el error. Si no es así, es posible que necesites revisar otras dependencias y paquetes en busca de problemas de compatibilidad.
Espero que esto te ayude!