Skip to content

Commit ee2912a

Browse files
committed
add exports JS
1 parent 5c0ad10 commit ee2912a

File tree

2 files changed

+108
-7
lines changed

2 files changed

+108
-7
lines changed

es6-features/modulos.md

+79-7
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,14 @@
1212
2. `npm install --save-dev webpack@beta babel-loader babel-core babel-preset-es2015-native-modules` - Para instalar os pacotes.
1313
3. `./node_modules/.bin/webpack --help` - Para consultar os comandos disponíveis do webpack.
1414
4. `npm install --save-dev ramda` - Para instalar a biblioteca ramda que iremos usar como exemplo de `import/ export`
15-
5. Crie um arquivo app.js com os dados abaixo:
16-
> Importando todos os métodos da lib ramda
15+
16+
17+
## Imports no ES6
18+
19+
> Serve para importar uma variável ou um método de uma lib para dentro do seu projeto.
20+
21+
1. Crie um arquivo app.js com os dados abaixo:
22+
> Importando todos os métodos da lib ramda
1723
```JS
1824
// import método from 'biblioteca';
1925
// * => carrega tudo da lib
@@ -29,7 +35,9 @@
2935
console.log(arr3);
3036
console.log(arr4);
3137
```
32-
> Importando um método específico da lib ramda, posso adicionar alias também ao método `{ union as unifica }`, posso chamar mais de um método específico ao mesmo tempo `{ union, uniq }`
38+
39+
> Importando um método específico da lib ramda, posso adicionar alias também ao método `{ union as unifica }`, posso chamar mais de um método específico ao mesmo tempo `{ union, uniq }`
40+
3341
```JS
3442
// import método from 'biblioteca';
3543
// { nome_do_metodo } => carrega apenas o método especificado da lib
@@ -44,7 +52,7 @@
4452
console.log(arr3);
4553
```
4654

47-
6. Crie um arquivo index.html com os dados abaixo:
55+
2. Crie um arquivo index.html com os dados abaixo:
4856

4957
```HTML
5058
<!DOCTYPE html>
@@ -61,7 +69,7 @@
6169
</html>
6270
```
6371

64-
7. Crie um arquivo `webpack.config.js` com as configurações abaixo:
72+
3. Crie um arquivo `webpack.config.js` com as configurações abaixo:
6573

6674
```JS
6775
const webpack = require('webpack');
@@ -89,9 +97,9 @@
8997
}
9098
}
9199
```
92-
8. Crie um arquivo `.gitignore` e inclua nele as pastas/arquivos que você não quer que subam para o git, no nosso caso estamos a dicionando a pasa `node_modules/`
100+
4. Crie um arquivo `.gitignore` e inclua nele as pastas/arquivos que você não quer que subam para o git, no nosso caso estamos a dicionando a pasa `node_modules/`
93101

94-
9. No um arquivo `package.json` configure os scripts conforme abaixo e depois execute no terminal `npm run build -- --watch` </br>
102+
5. No um arquivo `package.json` configure os scripts conforme abaixo e depois execute no terminal `npm run build -- --watch` </br>
95103
PS.: Você precisa está dentro da pasta onde criou o projeto.
96104

97105
```JSON
@@ -100,3 +108,67 @@ PS.: Você precisa está dentro da pasta onde criou o projeto.
100108
"watch": "npm run build -- --watch"
101109
},
102110
```
111+
112+
## Exports no ES6
113+
114+
> Serve para exportar uma variável ou um método para que outros arquivos possam utilizar.
115+
116+
1. Crie um arquivo `utils.js` com os dados abaixo, será a biblioteca com métodos e variáveis que serão reutilizadas em outros arquivos.
117+
118+
```JS
119+
function sum(a, b) {
120+
return a + b;
121+
}
122+
123+
// método principal
124+
// só pode ter um default por arquivo
125+
// pode ser importado com qualquer nome
126+
// não precisar ser chamado com as chaves
127+
export default sum;
128+
129+
/*--------------------------------*/
130+
131+
export function sub(a, b) {
132+
return a - b;
133+
}
134+
135+
// named export
136+
// permite ter vários exports dentro de um mesmo arquivo
137+
// só pode chamar com o mesmo nome
138+
// o import precisa das chaves { sub }
139+
140+
/*--------------------------------*/
141+
142+
function mult(a, b) {
143+
return a * b;
144+
}
145+
146+
function div(a, b) {
147+
return a / b;
148+
}
149+
150+
const PI = 3.14;
151+
152+
export { mult as multiplicacao, div, PI };
153+
154+
// named export
155+
// permite ter vários exports dentro de um mesmo arquivo
156+
// só pode chamar com o mesmo nome
157+
// o import precisa das chaves { sub }
158+
159+
```
160+
161+
2. Adicione os dados abaixo em app.js, para que possamos reutilizar os métodos/ variável do arquivo utils.JS
162+
163+
```JS
164+
165+
// importando métodos/variável de utils.JS
166+
import sum, { sub, multiplicacao, div as dividir, PI } from './utils';
167+
168+
// usando os métodos/variável de utils.JS
169+
console.log(sum(20, 10))
170+
console.log(sub(20, 10))
171+
console.log(multiplicacao(20, 10))
172+
console.log(dividir(20, 10))
173+
console.log(PI)
174+
```

npm-debug.log

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
0 info it worked if it ends with ok
2+
1 verbose cli [ 'C:\\Program Files\\nodejs\\node.exe',
3+
1 verbose cli 'C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js',
4+
1 verbose cli 'run',
5+
1 verbose cli 'build',
6+
1 verbose cli '--',
7+
1 verbose cli '--watch' ]
8+
2 info using npm@3.10.10
9+
3 info using node@v6.10.0
10+
4 verbose config Skipping project config: C:\Users\SIMONE/.npmrc. (matches userconfig)
11+
5 verbose stack Error: missing script: build
12+
5 verbose stack at run (C:\Program Files\nodejs\node_modules\npm\lib\run-script.js:151:19)
13+
5 verbose stack at C:\Program Files\nodejs\node_modules\npm\lib\run-script.js:61:5
14+
5 verbose stack at C:\Program Files\nodejs\node_modules\npm\node_modules\read-package-json\read-json.js:356:5
15+
5 verbose stack at checkBinReferences_ (C:\Program Files\nodejs\node_modules\npm\node_modules\read-package-json\read-json.js:320:45)
16+
5 verbose stack at final (C:\Program Files\nodejs\node_modules\npm\node_modules\read-package-json\read-json.js:354:3)
17+
5 verbose stack at then (C:\Program Files\nodejs\node_modules\npm\node_modules\read-package-json\read-json.js:124:5)
18+
5 verbose stack at ReadFileContext.<anonymous> (C:\Program Files\nodejs\node_modules\npm\node_modules\read-package-json\read-json.js:295:20)
19+
5 verbose stack at ReadFileContext.callback (C:\Program Files\nodejs\node_modules\npm\node_modules\graceful-fs\graceful-fs.js:78:16)
20+
5 verbose stack at FSReqWrap.readFileAfterOpen [as oncomplete] (fs.js:365:13)
21+
6 verbose cwd C:\Users\SIMONE\Documents\projects\JS
22+
7 error Windows_NT 10.0.10240
23+
8 error argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "run" "build" "--" "--watch"
24+
9 error node v6.10.0
25+
10 error npm v3.10.10
26+
11 error missing script: build
27+
12 error If you need help, you may report this error at:
28+
12 error <https://github.com/npm/npm/issues>
29+
13 verbose exit [ 1, true ]

0 commit comments

Comments
 (0)