Esta es mi estructura de archivos.
-main.js -SomeDir -fileA.js -fileB.js ¿Qué debo hacer si quiero cargar (dentro main.js ) todos los archivos en someDir sin especificar los nombres de los archivos?
algo como: require(./someDir/*.js) ?
var req = require.context("../someDir", true, /^(.*\.(js$))[^.]*$/igm); req.keys().forEach(function(key){ req(key); }); // or just: req.keys().forEach(req) expresiones regulares para que coincida con js pero ignore test.js
/^(?!.*test.js)((.*\.(js\.*))[^.]*$)/igm)
Sí, es posible, incluso recursivamente en la jerarquía de carpetas.
Aquí hay una muestra:
var context = require.context('./', true, /\.(html)$/); var files={}; context.keys().forEach((filename)=>{ console.log(filename); files[filename] = context(filename); }); console.log(files); //you have file contents in the 'files' object, with filenames as keysY una demostración en vivo aquí (abre devtools para ver el objeto generado)
http://www.webpackbin.com/Vy6AwkWrz
En tu caso, la primera línea sería
var context = require.context('./SomeDir', false, /\.js$/);Referencia: https://webpack.github.io/docs/context.html#require-context
Un enfoque podría ser crear un archivo index.js en la ubicación SomeDir y en ese archivo:
var req = require.context('./', true, /\.js$/); req([]);Luego en main.js:
require('./SomeDir');o
require('./SomeDir/index.js');o incluso
import something from "./SomeDir";