Tengo una gran cantidad de archivos javascript divididos en 4 subdirectorios en mi aplicación. En gruñido, los tomo todos y los compilo en un solo archivo. Estos archivos no tienen una función module.exports.
Quiero usar webpack y dividirlo en 4 partes. No quiero ingresar manualmente y solicitar todos mis archivos.
Me gustaría crear un complemento que en la compilación recorra los árboles de directorios, luego tome todos los nombres y rutas de archivos .js, luego requiera todos los archivos en los subdirectorios y los agregue a la salida.
Quiero que todos los archivos en cada directorio se compilen en un módulo que luego podría requerir de mi archivo de punto de entrada, o incluirlos en los activos que menciona http://webpack.github.io/docs/plugins.html .
Al agregar un archivo nuevo, solo quiero colocarlo en el directorio correcto y saber que se incluirá.
¿Hay alguna manera de hacer esto con un paquete web o un complemento que alguien haya escrito para hacer esto?
Esto es lo que hice para lograr esto:
function requireAll(r) { r.keys().forEach(r); } requireAll(require.context('./modules/', true, /\.js$/));En mi archivo de aplicación terminé poniendo el requerimiento
require.context( "./common", // context folder true, // include subdirectories /.*/ // RegExp )("./" + expr + "")cortesía de esta publicación: https://github.com/webpack/webpack/issues/118
Ahora está agregando todos mis archivos. Tengo un cargador para html y css y parece funcionar muy bien.
¿Qué tal un mapa de todos los archivos en una carpeta?
// { // './image1.png': 'data:image/png;base64,iVBORw0KGgoAAAANS', // './image2.png': 'data:image/png;base64,iVBP7aCASUUASf892', // }Hacer esto:
const allFiles = (ctx => { let keys = ctx.keys(); let values = keys.map(ctx); return keys.reduce((o, k, i) => { o[k] = values[i]; return o; }, {}); })(require.context('./path/to/folder', true, /.*/));