SlideShare una empresa de Scribd logo
require.context
Un require que funciona con regex
👋 Hey! Soy Richard
@sparragus
Puertorriqueño, web engineer,
hago podcasts
Preámbulo
(tl;dr: Esta plática realmente no de es folder
structuring)
@sparragus
•src/
•pages/
•components/
•index.js
Pero por si tienen curiosidad:
require.context
Un require que funciona con regex
Only
Nada que ver
con el
Context API de React
@sparragus
src 
├── app.js
└── pages
├── home
│ ├── index.css
│   └── index.js
├── about
│ ├── index.css
│   └── index.js
└── contact
├── index.css
  └── index.js
@sparragus
const Home = require("./pages/home");
const About = require("./pages/about");
const Contact = require("./pages/contact");
<Router>
<Route path="/" component={Home} />
<Route path="/about" component={About} />
<Route path="/contact" component={Contact} />
</Router>
@sparragus
function Home() {
return (
<div>
<h1>Hey! Soy Richard</h1>
<nav>
<ul>
<li><Link to="/about">About</Link></li>
<li><Link to="/contact">Contact</Link></li>
</ul>
</nav>
</div>
);
}
module.exports = Home;
@sparragus
• Input <= Expresión regular
• Output => Context
• Una función que nos permite hacer require solamente a los
archivos que hacen “match” con la expresión regular
Un require que funciona con regex
require.context
@sparragus
const context = require.context(
"./pages", // Un punto de partida del contexto
true, // Quiero buscar en los subdirs
/index.js$/ // El regex para encontrar files
);
const Home = context(‘./home/index.js’);
@sparragus
const context = require.context("./pages", true, /index.js$/);
src 
├── app.js <--------------- Estamos aquí
└── pages <--------------- El directorio que especificamos
├── home
│ ├── index.css <----- ❌
│   └── index.js <----- ✅ (Match con el regex)
├── about
│ ├── index.css <----- ❌
│   └── index.js <----- ✅
└── contact
├── index.css <----- ❌
  └── index.js <----- ✅
@sparragus
const styles = context('./home/index.css');
@sparragus
const styles = context('./home/index.css');
💥Error: Cannot find module ‘./home/index.css’
@sparragus
const context = require.context(
"./pages", // A directory
true, // Use subdirectories
/index.js$/ // A regex for matching files
);
const Home = context(‘./home/index.js’);
const About = context(‘./about/index.js’);
const Contact = context(‘./contact/index.js’);
<Router>
<Route path="/" component={Home} />
...
</Router>
@sparragus
🤔
@sparragus
• Input <= Expresión regular
• Output => Context
• Una función que nos permite hacer require solamente a los
archivos que hacen “match” con la expresión regular
• {

keys()

}
Un require que funciona con regex
require.context
@sparragus
🤔🤔🤔
@sparragus
✌
@sparragus
const context = require.context("./pages", true, /index.js$/);
const Home = context('./Home');
const filenames = context.keys();
console.log(filenames);
⮑ [ "./home/index.js", "./about/index.js", "./contact/index.js" ]
Función
Objeto
@sparragus
function getPathFromFilename (filename) { ... }
const context = require.context(...);
const filenames = context.keys();
const routes = filenames.map(filename => ({
path: getPathFromFilename(filename),
component: context(filename)
});
@sparragus
const filenames = context.keys();
const routes = [{...}, {...}, {...}];
<Router>
{routes.map(route =>
<Route path={route.path} component={route.component} />
)}
</Router>
@sparragus
•src/
•pages/
•components/
•index.js
Pero por si tienen curiosidad:
Ver para creer
(Demos)
👋 Hey! Soy Richard
@sparragus
Puertorriqueño, web engineer,
hago podcasts

Más contenido relacionado

Similar a require.context

Javascript en proyectos reales: jQuery
Javascript en proyectos reales: jQueryJavascript en proyectos reales: jQuery
Javascript en proyectos reales: jQuery
David Arango
 
Android Tips & Tricks - Boosting your productivity
Android Tips & Tricks - Boosting your productivityAndroid Tips & Tricks - Boosting your productivity
Android Tips & Tricks - Boosting your productivity
Fe
 
"Meta datos & Google Rich Snippets" por @iplarodriguez
"Meta datos & Google Rich Snippets" por @iplarodriguez"Meta datos & Google Rich Snippets" por @iplarodriguez
"Meta datos & Google Rich Snippets" por @iplarodriguez
webcat
 
6.angular js
6.angular js6.angular js
Desarrollo web inteligente
Desarrollo web inteligenteDesarrollo web inteligente
Desarrollo web inteligente
Max Kraszewski
 
Desarrollo de aplicaciones web usando Catalyst y jQuery
Desarrollo de aplicaciones web usando Catalyst y jQueryDesarrollo de aplicaciones web usando Catalyst y jQuery
Desarrollo de aplicaciones web usando Catalyst y jQuery
Javier P.
 
Android Superstar - Buenas Prácticas
Android Superstar - Buenas PrácticasAndroid Superstar - Buenas Prácticas
Android Superstar - Buenas Prácticas
Ignacio Muñoz Vicente
 
Varnish para meros mortales
Varnish para meros mortalesVarnish para meros mortales
Varnish para meros mortales
Martín .
 
Web2 Quiensomos
Web2 QuiensomosWeb2 Quiensomos
Web2 Quiensomos
Joaquín Salvachúa
 
Mootools Y Otros Frameworks JS
Mootools Y Otros Frameworks JSMootools Y Otros Frameworks JS
Mootools Y Otros Frameworks JS
Ian Monge Pérez
 
Presentación Ruby on Rails en Softare Freedom Day 09 Buenos Aires
Presentación Ruby on Rails en Softare Freedom Day 09 Buenos AiresPresentación Ruby on Rails en Softare Freedom Day 09 Buenos Aires
Presentación Ruby on Rails en Softare Freedom Day 09 Buenos Aires
peterpunk
 
Assetic PHPmvd
Assetic PHPmvdAssetic PHPmvd
Assetic PHPmvd
Ismael Ambrosi
 
Guiapractica de bd completa
Guiapractica de bd completaGuiapractica de bd completa
Guiapractica de bd completa
lissette_torrealba
 
Rendimiento en aplicaciones web con Symfony2
Rendimiento en aplicaciones web con Symfony2Rendimiento en aplicaciones web con Symfony2
Rendimiento en aplicaciones web con Symfony2
Asier Marqués
 
Introducción a NodeJS
Introducción a NodeJSIntroducción a NodeJS
Introducción a NodeJS
BEEVA_es
 
Odd2015 scraping
Odd2015 scrapingOdd2015 scraping
Odd2015 scraping
Renato Ramirez
 
Prueba
PruebaPrueba
Creación de plugins con Grails
Creación de plugins con GrailsCreación de plugins con Grails
Creación de plugins con Grails
Jose Juan R. Zuñiga
 
Introducción a groovy & grails
Introducción a groovy & grailsIntroducción a groovy & grails
Introducción a groovy & grails
Fátima Casaú Pérez
 
De HTML a Express
De HTML a ExpressDe HTML a Express
De HTML a Express
Antonio Kobashikawa Carrasco
 

Similar a require.context (20)

Javascript en proyectos reales: jQuery
Javascript en proyectos reales: jQueryJavascript en proyectos reales: jQuery
Javascript en proyectos reales: jQuery
 
Android Tips & Tricks - Boosting your productivity
Android Tips & Tricks - Boosting your productivityAndroid Tips & Tricks - Boosting your productivity
Android Tips & Tricks - Boosting your productivity
 
"Meta datos & Google Rich Snippets" por @iplarodriguez
"Meta datos & Google Rich Snippets" por @iplarodriguez"Meta datos & Google Rich Snippets" por @iplarodriguez
"Meta datos & Google Rich Snippets" por @iplarodriguez
 
6.angular js
6.angular js6.angular js
6.angular js
 
Desarrollo web inteligente
Desarrollo web inteligenteDesarrollo web inteligente
Desarrollo web inteligente
 
Desarrollo de aplicaciones web usando Catalyst y jQuery
Desarrollo de aplicaciones web usando Catalyst y jQueryDesarrollo de aplicaciones web usando Catalyst y jQuery
Desarrollo de aplicaciones web usando Catalyst y jQuery
 
Android Superstar - Buenas Prácticas
Android Superstar - Buenas PrácticasAndroid Superstar - Buenas Prácticas
Android Superstar - Buenas Prácticas
 
Varnish para meros mortales
Varnish para meros mortalesVarnish para meros mortales
Varnish para meros mortales
 
Web2 Quiensomos
Web2 QuiensomosWeb2 Quiensomos
Web2 Quiensomos
 
Mootools Y Otros Frameworks JS
Mootools Y Otros Frameworks JSMootools Y Otros Frameworks JS
Mootools Y Otros Frameworks JS
 
Presentación Ruby on Rails en Softare Freedom Day 09 Buenos Aires
Presentación Ruby on Rails en Softare Freedom Day 09 Buenos AiresPresentación Ruby on Rails en Softare Freedom Day 09 Buenos Aires
Presentación Ruby on Rails en Softare Freedom Day 09 Buenos Aires
 
Assetic PHPmvd
Assetic PHPmvdAssetic PHPmvd
Assetic PHPmvd
 
Guiapractica de bd completa
Guiapractica de bd completaGuiapractica de bd completa
Guiapractica de bd completa
 
Rendimiento en aplicaciones web con Symfony2
Rendimiento en aplicaciones web con Symfony2Rendimiento en aplicaciones web con Symfony2
Rendimiento en aplicaciones web con Symfony2
 
Introducción a NodeJS
Introducción a NodeJSIntroducción a NodeJS
Introducción a NodeJS
 
Odd2015 scraping
Odd2015 scrapingOdd2015 scraping
Odd2015 scraping
 
Prueba
PruebaPrueba
Prueba
 
Creación de plugins con Grails
Creación de plugins con GrailsCreación de plugins con Grails
Creación de plugins con Grails
 
Introducción a groovy & grails
Introducción a groovy & grailsIntroducción a groovy & grails
Introducción a groovy & grails
 
De HTML a Express
De HTML a ExpressDe HTML a Express
De HTML a Express
 

Más de Richard Kaufman

Internacionalizacion
InternacionalizacionInternacionalizacion
Internacionalizacion
Richard Kaufman
 
Programación de Bots para Slack
Programación de Bots para SlackProgramación de Bots para Slack
Programación de Bots para Slack
Richard Kaufman
 
FUTURE Mariachi
FUTURE MariachiFUTURE Mariachi
FUTURE Mariachi
Richard Kaufman
 
Digital Invaders - Introducción al Prototipaje
Digital Invaders - Introducción al PrototipajeDigital Invaders - Introducción al Prototipaje
Digital Invaders - Introducción al Prototipaje
Richard Kaufman
 
Digital Invaders - Introducción a Programación
Digital Invaders - Introducción a ProgramaciónDigital Invaders - Introducción a Programación
Digital Invaders - Introducción a Programación
Richard Kaufman
 
Nodebots Mexico - Tacómetro Twittero
Nodebots Mexico - Tacómetro TwitteroNodebots Mexico - Tacómetro Twittero
Nodebots Mexico - Tacómetro Twittero
Richard Kaufman
 

Más de Richard Kaufman (6)

Internacionalizacion
InternacionalizacionInternacionalizacion
Internacionalizacion
 
Programación de Bots para Slack
Programación de Bots para SlackProgramación de Bots para Slack
Programación de Bots para Slack
 
FUTURE Mariachi
FUTURE MariachiFUTURE Mariachi
FUTURE Mariachi
 
Digital Invaders - Introducción al Prototipaje
Digital Invaders - Introducción al PrototipajeDigital Invaders - Introducción al Prototipaje
Digital Invaders - Introducción al Prototipaje
 
Digital Invaders - Introducción a Programación
Digital Invaders - Introducción a ProgramaciónDigital Invaders - Introducción a Programación
Digital Invaders - Introducción a Programación
 
Nodebots Mexico - Tacómetro Twittero
Nodebots Mexico - Tacómetro TwitteroNodebots Mexico - Tacómetro Twittero
Nodebots Mexico - Tacómetro Twittero
 

Último

1. Introduccion a las excavaciones subterraneas (1).pdf
1. Introduccion a las excavaciones subterraneas (1).pdf1. Introduccion a las excavaciones subterraneas (1).pdf
1. Introduccion a las excavaciones subterraneas (1).pdf
raulnilton2018
 
DIAGRAMA ELECTRICOS y circuito electrónicos
DIAGRAMA ELECTRICOS y circuito electrónicosDIAGRAMA ELECTRICOS y circuito electrónicos
DIAGRAMA ELECTRICOS y circuito electrónicos
LuisAngelGuarnizoBet
 
muros de contencion, diseño y generalidades
muros de contencion, diseño y generalidadesmuros de contencion, diseño y generalidades
muros de contencion, diseño y generalidades
AlejandroArturoGutie1
 
Calculo-de-Camaras-Frigorificas.pdf para trabajos
Calculo-de-Camaras-Frigorificas.pdf para trabajosCalculo-de-Camaras-Frigorificas.pdf para trabajos
Calculo-de-Camaras-Frigorificas.pdf para trabajos
JuanCarlos695207
 
Sistemas eléctricos de potencia y transmisión
Sistemas eléctricos de potencia y transmisiónSistemas eléctricos de potencia y transmisión
Sistemas eléctricos de potencia y transmisión
MichaelLpezOrtiz
 
simbologia y normas de soldadura para su inspección
simbologia y normas de soldadura para su inspecciónsimbologia y normas de soldadura para su inspección
simbologia y normas de soldadura para su inspección
HarofHaro
 
Uso de equipos de protección personal.pptx
Uso de equipos de protección personal.pptxUso de equipos de protección personal.pptx
Uso de equipos de protección personal.pptx
OmarPadillaGarcia
 
Infografía de operaciones básicas....pdf
Infografía de operaciones básicas....pdfInfografía de operaciones básicas....pdf
Infografía de operaciones básicas....pdf
jahirrtorresa
 
Presentación- de motor a combustión -diesel.pptx
Presentación- de motor a combustión -diesel.pptxPresentación- de motor a combustión -diesel.pptx
Presentación- de motor a combustión -diesel.pptx
ronnyrocha223
 
OPERACIONES BÁSICAS (INFOGRAFIA) DOCUMENTO
OPERACIONES BÁSICAS (INFOGRAFIA) DOCUMENTOOPERACIONES BÁSICAS (INFOGRAFIA) DOCUMENTO
OPERACIONES BÁSICAS (INFOGRAFIA) DOCUMENTO
GERARDO GONZALEZ
 
tipos de energias: la Energía Radiante.pdf
tipos de energias: la Energía Radiante.pdftipos de energias: la Energía Radiante.pdf
tipos de energias: la Energía Radiante.pdf
munozvanessa878
 
PRIMERA Y SEGUNDA LEY DE LA TERMODINÁMICA
PRIMERA Y SEGUNDA LEY DE LA TERMODINÁMICAPRIMERA Y SEGUNDA LEY DE LA TERMODINÁMICA
PRIMERA Y SEGUNDA LEY DE LA TERMODINÁMICA
carmenquintana18
 
Dosificacion de hormigon NCH 170 actualizada
Dosificacion de hormigon NCH 170 actualizadaDosificacion de hormigon NCH 170 actualizada
Dosificacion de hormigon NCH 170 actualizada
pipex55
 
chancadoras.............................
chancadoras.............................chancadoras.............................
chancadoras.............................
ssuser8827cb1
 
Operaciones Básicas creadora Veronica Maiz
Operaciones Básicas creadora Veronica MaizOperaciones Básicas creadora Veronica Maiz
Operaciones Básicas creadora Veronica Maiz
carolina838317
 
S09 PBM-HEMORRAGIAS 2021-I Grabada 1.pptx
S09 PBM-HEMORRAGIAS 2021-I Grabada 1.pptxS09 PBM-HEMORRAGIAS 2021-I Grabada 1.pptx
S09 PBM-HEMORRAGIAS 2021-I Grabada 1.pptx
yamilbailonw
 
METRADOS_Y_PRESUPUESTO_EN_SISTEMA_DRYWALL_24-05.pdf
METRADOS_Y_PRESUPUESTO_EN_SISTEMA_DRYWALL_24-05.pdfMETRADOS_Y_PRESUPUESTO_EN_SISTEMA_DRYWALL_24-05.pdf
METRADOS_Y_PRESUPUESTO_EN_SISTEMA_DRYWALL_24-05.pdf
Augusto César Dávila Callupe
 
Cálculo del espesor del conducto forzado
Cálculo del espesor del conducto forzadoCálculo del espesor del conducto forzado
Cálculo del espesor del conducto forzado
KristianSaavedra
 
380378757-velocidades-maximas-y-minimas-en-los-canales.pdf
380378757-velocidades-maximas-y-minimas-en-los-canales.pdf380378757-velocidades-maximas-y-minimas-en-los-canales.pdf
380378757-velocidades-maximas-y-minimas-en-los-canales.pdf
DiegoAlexanderChecaG
 
DIAGRAMA DE FLUJO DE ALGORITMO......
DIAGRAMA DE FLUJO   DE   ALGORITMO......DIAGRAMA DE FLUJO   DE   ALGORITMO......
DIAGRAMA DE FLUJO DE ALGORITMO......
taniarivera1015tvr
 

Último (20)

1. Introduccion a las excavaciones subterraneas (1).pdf
1. Introduccion a las excavaciones subterraneas (1).pdf1. Introduccion a las excavaciones subterraneas (1).pdf
1. Introduccion a las excavaciones subterraneas (1).pdf
 
DIAGRAMA ELECTRICOS y circuito electrónicos
DIAGRAMA ELECTRICOS y circuito electrónicosDIAGRAMA ELECTRICOS y circuito electrónicos
DIAGRAMA ELECTRICOS y circuito electrónicos
 
muros de contencion, diseño y generalidades
muros de contencion, diseño y generalidadesmuros de contencion, diseño y generalidades
muros de contencion, diseño y generalidades
 
Calculo-de-Camaras-Frigorificas.pdf para trabajos
Calculo-de-Camaras-Frigorificas.pdf para trabajosCalculo-de-Camaras-Frigorificas.pdf para trabajos
Calculo-de-Camaras-Frigorificas.pdf para trabajos
 
Sistemas eléctricos de potencia y transmisión
Sistemas eléctricos de potencia y transmisiónSistemas eléctricos de potencia y transmisión
Sistemas eléctricos de potencia y transmisión
 
simbologia y normas de soldadura para su inspección
simbologia y normas de soldadura para su inspecciónsimbologia y normas de soldadura para su inspección
simbologia y normas de soldadura para su inspección
 
Uso de equipos de protección personal.pptx
Uso de equipos de protección personal.pptxUso de equipos de protección personal.pptx
Uso de equipos de protección personal.pptx
 
Infografía de operaciones básicas....pdf
Infografía de operaciones básicas....pdfInfografía de operaciones básicas....pdf
Infografía de operaciones básicas....pdf
 
Presentación- de motor a combustión -diesel.pptx
Presentación- de motor a combustión -diesel.pptxPresentación- de motor a combustión -diesel.pptx
Presentación- de motor a combustión -diesel.pptx
 
OPERACIONES BÁSICAS (INFOGRAFIA) DOCUMENTO
OPERACIONES BÁSICAS (INFOGRAFIA) DOCUMENTOOPERACIONES BÁSICAS (INFOGRAFIA) DOCUMENTO
OPERACIONES BÁSICAS (INFOGRAFIA) DOCUMENTO
 
tipos de energias: la Energía Radiante.pdf
tipos de energias: la Energía Radiante.pdftipos de energias: la Energía Radiante.pdf
tipos de energias: la Energía Radiante.pdf
 
PRIMERA Y SEGUNDA LEY DE LA TERMODINÁMICA
PRIMERA Y SEGUNDA LEY DE LA TERMODINÁMICAPRIMERA Y SEGUNDA LEY DE LA TERMODINÁMICA
PRIMERA Y SEGUNDA LEY DE LA TERMODINÁMICA
 
Dosificacion de hormigon NCH 170 actualizada
Dosificacion de hormigon NCH 170 actualizadaDosificacion de hormigon NCH 170 actualizada
Dosificacion de hormigon NCH 170 actualizada
 
chancadoras.............................
chancadoras.............................chancadoras.............................
chancadoras.............................
 
Operaciones Básicas creadora Veronica Maiz
Operaciones Básicas creadora Veronica MaizOperaciones Básicas creadora Veronica Maiz
Operaciones Básicas creadora Veronica Maiz
 
S09 PBM-HEMORRAGIAS 2021-I Grabada 1.pptx
S09 PBM-HEMORRAGIAS 2021-I Grabada 1.pptxS09 PBM-HEMORRAGIAS 2021-I Grabada 1.pptx
S09 PBM-HEMORRAGIAS 2021-I Grabada 1.pptx
 
METRADOS_Y_PRESUPUESTO_EN_SISTEMA_DRYWALL_24-05.pdf
METRADOS_Y_PRESUPUESTO_EN_SISTEMA_DRYWALL_24-05.pdfMETRADOS_Y_PRESUPUESTO_EN_SISTEMA_DRYWALL_24-05.pdf
METRADOS_Y_PRESUPUESTO_EN_SISTEMA_DRYWALL_24-05.pdf
 
Cálculo del espesor del conducto forzado
Cálculo del espesor del conducto forzadoCálculo del espesor del conducto forzado
Cálculo del espesor del conducto forzado
 
380378757-velocidades-maximas-y-minimas-en-los-canales.pdf
380378757-velocidades-maximas-y-minimas-en-los-canales.pdf380378757-velocidades-maximas-y-minimas-en-los-canales.pdf
380378757-velocidades-maximas-y-minimas-en-los-canales.pdf
 
DIAGRAMA DE FLUJO DE ALGORITMO......
DIAGRAMA DE FLUJO   DE   ALGORITMO......DIAGRAMA DE FLUJO   DE   ALGORITMO......
DIAGRAMA DE FLUJO DE ALGORITMO......
 

require.context

  • 1. require.context Un require que funciona con regex
  • 2. 👋 Hey! Soy Richard @sparragus Puertorriqueño, web engineer, hago podcasts
  • 3. Preámbulo (tl;dr: Esta plática realmente no de es folder structuring)
  • 4.
  • 5.
  • 6.
  • 8. require.context Un require que funciona con regex
  • 10. Nada que ver con el Context API de React
  • 11. @sparragus src  ├── app.js └── pages ├── home │ ├── index.css │   └── index.js ├── about │ ├── index.css │   └── index.js └── contact ├── index.css   └── index.js
  • 12. @sparragus const Home = require("./pages/home"); const About = require("./pages/about"); const Contact = require("./pages/contact"); <Router> <Route path="/" component={Home} /> <Route path="/about" component={About} /> <Route path="/contact" component={Contact} /> </Router>
  • 13. @sparragus function Home() { return ( <div> <h1>Hey! Soy Richard</h1> <nav> <ul> <li><Link to="/about">About</Link></li> <li><Link to="/contact">Contact</Link></li> </ul> </nav> </div> ); } module.exports = Home;
  • 14. @sparragus • Input <= Expresión regular • Output => Context • Una función que nos permite hacer require solamente a los archivos que hacen “match” con la expresión regular Un require que funciona con regex require.context
  • 15. @sparragus const context = require.context( "./pages", // Un punto de partida del contexto true, // Quiero buscar en los subdirs /index.js$/ // El regex para encontrar files ); const Home = context(‘./home/index.js’);
  • 16. @sparragus const context = require.context("./pages", true, /index.js$/); src  ├── app.js <--------------- Estamos aquí └── pages <--------------- El directorio que especificamos ├── home │ ├── index.css <----- ❌ │   └── index.js <----- ✅ (Match con el regex) ├── about │ ├── index.css <----- ❌ │   └── index.js <----- ✅ └── contact ├── index.css <----- ❌   └── index.js <----- ✅
  • 17. @sparragus const styles = context('./home/index.css');
  • 18. @sparragus const styles = context('./home/index.css'); 💥Error: Cannot find module ‘./home/index.css’
  • 19. @sparragus const context = require.context( "./pages", // A directory true, // Use subdirectories /index.js$/ // A regex for matching files ); const Home = context(‘./home/index.js’); const About = context(‘./about/index.js’); const Contact = context(‘./contact/index.js’); <Router> <Route path="/" component={Home} /> ... </Router>
  • 21. @sparragus • Input <= Expresión regular • Output => Context • Una función que nos permite hacer require solamente a los archivos que hacen “match” con la expresión regular • {
 keys()
 } Un require que funciona con regex require.context
  • 24. @sparragus const context = require.context("./pages", true, /index.js$/); const Home = context('./Home'); const filenames = context.keys(); console.log(filenames); ⮑ [ "./home/index.js", "./about/index.js", "./contact/index.js" ] Función Objeto
  • 25. @sparragus function getPathFromFilename (filename) { ... } const context = require.context(...); const filenames = context.keys(); const routes = filenames.map(filename => ({ path: getPathFromFilename(filename), component: context(filename) });
  • 26. @sparragus const filenames = context.keys(); const routes = [{...}, {...}, {...}]; <Router> {routes.map(route => <Route path={route.path} component={route.component} /> )} </Router>
  • 29. 👋 Hey! Soy Richard @sparragus Puertorriqueño, web engineer, hago podcasts