You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: 1-js/13-modules/01-modules-intro/article.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
2
2
# Módulos, introducción
3
3
4
-
A medida que nuestra aplicación crece, queremos dividirla en múltiples archivos, llamados "módulos". Un módulo puede contener una clase o una biblioteca de funciones para un propósito específico.
4
+
A medida que nuestra aplicación crece, queremos dividirla en múltiples archivos, los llamados "módulos". Un módulo puede contener una clase o una biblioteca de funciones para un propósito específico.
5
5
6
6
Durante mucho tiempo, JavaScript existió sin una sintaxis de módulo a nivel de lenguaje. Esto no era un problema, porque inicialmente los scripts eran pequeños y simples.
@@ -28,14 +28,14 @@ Por ejemplo, aquí todas las exportaciones son válidas:
28
28
````smart header="Sin punto y coma después de export clase/función"
29
29
Tenga en cuenta que `export` antes de una clase o una función no la hace una [expresión de función](info:function-expressions). Sigue siendo una declaración de función, aunque exportada.
30
30
31
-
La mayoría de las guías de estilos JavaScript no recomiendan los punto y comas después de declarar funciones y clases.
31
+
La mayoría de las guías de estilos JavaScript no recomiendan punto y coma después de declarar funciones y clases.
32
32
33
33
Es por esto que no hay necesidad de un punto y coma al final de `export class` y `export function`:
34
34
35
35
```js
36
36
export function sayHi(user) {
37
37
alert(`Hello, ${user}!`);
38
-
} *!* // no ; at the end */!*
38
+
} *!* // sin ; al final */!*
39
39
```
40
40
41
41
````
@@ -130,7 +130,7 @@ Exportemos funciones como `hi` y `bye`:
130
130
export {sayHiashi, sayByeasbye};
131
131
```
132
132
133
-
Ahora `hi` y `bye` son los nombres oficiales para desconocidos, a ser utilizados en importaciones:
133
+
Ahora `hi` y `bye` son los nombres oficiales exportados, los que usarán otros módulos al hacer sus importaciones.
En la práctica, existen principalmente dos tipos de módulos.
146
146
147
-
1. Módulos que contienen una librería, paquete de funciones, como `say.js` de arriba.
148
-
2. Módulos que declaran una entidad simple, por ejemplo un módulo `user.js` exporta únicamente `class User`.
147
+
1. Módulos que contienen una librería, un paquete de funciones como `say.js` de arriba.
148
+
2. Módulos que declaran una entidad simple, por ejemplo un módulo `user.js`que exporta únicamente `class User`.
149
149
150
150
Principalmente, se prefiere el segundo enfoque, de modo que cada "cosa" reside en su propio módulo.
151
151
@@ -338,7 +338,7 @@ import {login, logout} from 'auth/index.js'
338
338
339
339
El "archivo principal", `auth/index.js`, exporta toda la funcionalidad que queremos brindar en nuestro paquete.
340
340
341
-
La idea es que los extraños, los desarrolladores que usan nuestro paquete, no deben entrometerse con su estructura interna, buscar archivos dentro de nuestra carpeta de paquetes. Exportamos solo lo que es necesario en `auth/index.js` y mantenemos el resto oculto a miradas indiscretas.
341
+
La idea es que los desarrolladores que usen nuestro paquete no deban lidiar con su estructura interna, buscar archivos dentro de nuestra carpeta de paquetes. Exportamos solo lo que es necesario en `auth/index.js` y mantenemos el resto oculto a miradas indiscretas.
342
342
343
343
Como la funcionalidad real exportada se encuentra dispersa entre el paquete, podemos importarla en `auth/index.js` y exportar desde ella:
344
344
@@ -440,15 +440,15 @@ import {sayHi} from './say.js'; // import al final del archivo
440
440
441
441
En la práctica, las importaciones generalmente se encuentran al comienzo del archivo, pero eso es solo para mayor comodidad.
442
442
443
-
**Tenga en cuenta que las declaraciones de import/export no funcionan si están dentro `{...}`.**
443
+
**Tenga en cuenta que import y export solo funcionan en el nivel superior del módulo, no dentro de ningún bloque`{...}`.**
444
444
445
-
Una importación condicional, como esta, no funcionará:
445
+
Una importación condicional como esta no funcionará:
446
446
```js
447
447
if (something) {
448
448
import {sayHi} from "./say.js"; // Error: import debe estar en nivel superior
449
449
}
450
450
```
451
451
452
-
...Pero, ¿qué pasa si realmente necesitamos importar algo condicionalmente?O en el momento adecuado? Por ejemplo, ¿cargar un módulo a pedido, cuando realmente se necesita?
452
+
Pero ¿qué pasa si realmente necesitamos importar algo condicionalmente?¿O en el momento adecuado? Por ejemplo, cargar un módulo a pedido, cuando realmente se necesita.
453
453
454
454
Veremos importaciones dinámicas en el próximo artículo.
0 commit comments