El tutorial de configuración de webpack para mecanografiado muestra algo como esto:
const path = require('path'); module.exports = { ... }¿No sería mejor usarlo como módulo es y configurarlo, por ejemplo, con importaciones? ¿O hay alguna razón por la que está configurado como arriba? No puedo encontrar ningún ejemplo donde esté configurado así:
import webpack from "webpack"; import path from "path"; export default () => { ... }TypeScript y el estándar ES más nuevo son superconjuntos de JavaScript normal. Escribir archivos de configuración utilizando una sintaxis y funciones ampliamente compatibles hace que esté más disponible y aceptable sin necesidad de una configuración adicional.
TypeScript es una mejor práctica en algunos aspectos, pero debe introducir dependencias y configuraciones adicionales para usarlo, en algunas organizaciones ni siquiera tiene esa libertad. Al igual que ES, Node.js no tenía soporte nativo para mjs hasta la v12.
La buena noticia es que Webpack también admite configuraciones de escritura en varios idiomas, incluido TypeScript, consulte https://webpack.js.org/configuration/configuration-languages/
También está disponible para obtener funciones como IntelliSense mediante el uso de anotaciones TypeScript JSDoc si, por algún motivo, no puede escribir TypeScript directamente:
/** @type { import('webpack').Configuration } */ const config = {...}; module.exports = config;