¿Alguien sabe cómo crear múltiples rutas de salida en un archivo webpack.config.js? Estoy usando bootstrap-sass que viene con algunos archivos de fuente diferentes, etc. Para que webpack procese estos, he incluido el cargador de archivos que funciona correctamente, sin embargo, los archivos que genera se guardan en la ruta de salida que especifiqué para El resto de mis archivos:
output: {
path: __dirname + "/js",
filename: "scripts.min.js"
}
Me gustaría lograr algo donde tal vez pueda ver los tipos de extensión para cualquier paquete web que esté generando y para cosas que terminan en .woff .eot, etc., para que se desvíen a una ruta de salida diferente. es posible?
Busqué en Google un poco y encontré este * problema en github donde se ofrecen un par de soluciones, edite:
pero parece que necesita saber el punto de entrada para poder especificar una salida utilizando el método hash, por ejemplo:
var entryPointsPathPrefix = './src/javascripts/pages';
var WebpackConfig = {
entry : {
a: entryPointsPathPrefix + '/a.jsx',
b: entryPointsPathPrefix + '/b.jsx',
c: entryPointsPathPrefix + '/c.jsx',
d: entryPointsPathPrefix + '/d.jsx'
},
// send to distribution
output: {
path: './dist/js',
filename: '[name].js'
}
}
* https://github.com/webpack/webpack/issues/1189
Sin embargo, en mi caso, en lo que respecta a los archivos de fuentes, el proceso de entrada se abstrae y todo lo que sé es la salida. En el caso de que mis otros archivos se sometan a transformaciones, hay un punto conocido en el que estoy exigiendo que mis cargadores los manejen. Si hubiera una forma de averiguar dónde estaba sucediendo este paso, podría usar el método hash para personalizar las rutas de salida, pero no sé dónde se requieren estos archivos.
module{}
objeto es incorrecto. No es requerido Se extenderá / fusionó en el mismo nivel como palabras clavename
,entry
,output
(de su ejemplo). <pre> <code> {module: {mode: "development", devtool: "source-map"}}, name: "a", entry: "./a/app", output: {path: "/ a ", filename:" bundle.js "}} </code> </pre>Webpack admite múltiples rutas de salida.
Establezca las rutas de salida como la clave de entrada. Y use la
name
plantilla como salida.configuración del paquete web:
generado:
fuente
dist
. Entonces, en lugar demodule/a/index.js
ser una ruta de salida, debería sermodule/a/dist/index.js
O de lo contrario, está anulando sus archivos de entrada.dist
carpeta @Sung ya está configurada en la ruta de salida. Entonces el archivo generado seríadist/module/a/index.js
, lo cual no mencioné.output.filename
como se documenta aquí: webpack.js.org/configuration/output/#outputfilenameSi puede vivir con múltiples rutas de salida que tienen el mismo nivel de profundidad y estructura de carpetas, hay una manera de hacerlo en webpack 2 (todavía no he probado con webpack 1.x)
Básicamente, no sigue las reglas de documentación y proporciona una ruta para el nombre de archivo.
Eso tomará esta estructura de carpetas
Y convertirlo en
fuente
Escribí un complemento que, con suerte, puede hacer lo que quiera, puede especificar puntos de entrada conocidos o desconocidos (usando glob ) y especificar salidas exactas o generarlas dinámicamente usando la ruta y el nombre del archivo de entrada. https://www.npmjs.com/package/webpack-entry-plus
fuente
Definitivamente puede devolver una variedad de configuraciones desde su archivo webpack.config. Pero no es una solución óptima si solo desea que una copia de los artefactos esté en la carpeta de la documentación de su proyecto, ya que hace que webpack construya su código duplicando el tiempo total de construcción.
En este caso, recomendaría usar el complemento FileManagerWebpackPlugin en su lugar:
fuente
Solo puede tener una ruta de salida.
de los documentos https://github.com/webpack/docs/wiki/configuration#output
fuente
De hecho, terminé yendo a index.js en el módulo del cargador de archivos y cambiando a dónde se emitieron los contenidos. Probablemente esta no sea la solución óptima, pero hasta que haya otra forma, está bien, ya que sé exactamente lo que está manejando este cargador, que son solo fuentes.
fuente