Después de actualizar webpack-dev-server de v3 a v4, encontré dos extrañas inconsistencias.
publicPath ya no funciona, sin emparejarlo con la nueva opción estática . { // ... devServer: { publicPath: '/' } } { // ... devServer: { devMiddleware: { publicPath: '/' }, static: [ { directory: context.replace(/\//g, '\\'), publicPath: '/' } ] } }context tiene un truco extraño: tengo que reemplazar las barras inclinadas hacia adelante con barras inclinadas hacia atrás en Windows - context.replace(/\//g, '\\') . Si no lo hago, seré castigado con un algoritmo de detección de URL inexacto. Dado que las barras diagonales están perfectamente bien en Windows, no debería quejarse de que no sea un directorio. Todas las herramientas propias de Windows piensan que es un directorio, pero webpack-dev-server no: Error: Using a URL as static.directory is not supported at getStaticItem (c:\thecode\node_modules\webpack-dev-server\lib\Server.js:557:15) at c:\thecode\node_modules\webpack-dev-server\lib\Server.js:1046:16 at Array.map (<anonymous>) at Server.normalizeOptions (c:\thecode\node_modules\webpack-dev-server\lib\Server.js:1041:39) at Server.start (c:\thecode\node_modules\webpack-dev-server\lib\Server.js:2252:16) at Command.<anonymous> (c:\thecode\node_modules\@webpack-cli\serve\lib\index.js:242:38) at async Promise.all (index 1) at async Command.<anonymous> (c:\thecode\node_modules\webpack-cli\lib\webpack-cli.js:1672:7)Mi configuración:
webpack: 5 OS: Windows 10 Node: 16¿Hay algo que estoy haciendo mal aquí? ¿Es ese un comportamiento documentado/esperado? ¿O es algo que debería archivar en su página de problemas de Github?
Solución alternativa para (2) : el problema de la URL se puede solucionar a través de path.resolve . Es decir: directory: path.resolve(context) .