Lo siento porque mi inglés es bajo, espero que lo entiendas. Estoy aprendiendo a usar el paquete web para construir mi proyecto. La siguiente es la configuración para dos archivos de entrada:
entry:{ main: { import: "./src/main.js", filename:"main/[name].[hash:6][ext]", dependOn:"lodash" }, index:{ import:"./src/index.js", filename:"index/[name].[hash:6][ext]", dependOn:"lodash" }, lodash: {import: [ "lodash" ],filename:"lodash/[name].[hash:6].js" } }, Creo que generará dos archivos después de ejecutar el npm run build , por ejemplo, main.a24fc1.js e index.b42afd.js , su nombre debería verse así.
Pero en resultado son esto:
|- build |- index |- index.81c047[ext] |- main |- main.81c047[ext] En su configuración de nombre de filename , usó marcadores de posición [ext] pero no surtió efecto. No sé por qué sucedió, porque mi configuración es la misma que en la demostración del documento del paquete web.
// This is webpack demo config: module.exports = { //... entry: { app: './app.js', home: { import: './contact.js', filename: 'pages/[name][ext]' }, about: { import: './about.js', filename: 'pages/[name][ext]' }, }, };No puedo resolver el problema... ¡Gracias a todos los que me ayudaron! (Por favor, díganme si hay algún error en inglés en este artículo. ^_^)
Ha especificado que la salida sea main/[name].[hash:6][ext] de ahí la estructura de carpetas. Simplemente especifíquelo como [name].[hash:6].js y obtendrá la estructura deseada.
entry:{ main: { import: "./src/main.js", filename:"[name].[hash:6].js", dependOn:"lodash" }, index:{ import:"./src/index.js", filename:"[name].[hash:6].js", dependOn:"lodash" }, lodash: {import: [ "lodash" ],filename:"[name].[hash:6].js" } }, Tenga en cuenta que la propiedad de nombre de filename en el bloque de entry se extrae de output.filename ( Fuente ) que no admite [ext] . ( Fuente - Tabla - Sustituciones disponibles a nivel de archivo)