-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
47 lines (43 loc) · 37.7 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="ie=edge"/><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/><meta property="twitter:card" content="summary_large_image"/><link rel="shortcut icon" type="image/svg" href="https://scontent.fsjk1-1.fna.fbcdn.net/v/t1.0-9/83652091_136284957845200_8237786461009608704_n.png?_nc_cat=109&_nc_ohc=BC9ilU71jTAAX_V9Elf&_nc_ht=scontent.fsjk1-1.fna&oh=c145d921258900ee4f26d0a56fe2ecdb&oe=5EB8C623"/><noscript></noscript><style data-href="/styles.b653de596cb40ead5224.css">@import url(https://fonts.googleapis.com/css?family=Roboto:300,400,500,700&display=swap);*{margin:0;padding:0;box-sizing:border-box;font-display:swap}::-webkit-input-placeholder{color:#c2c2c2}:-ms-input-placeholder{color:#c2c2c2}::-ms-input-placeholder{color:#c2c2c2}::placeholder{color:#c2c2c2}body,html{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Roboto Light,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;font-size:16px}a{-webkit-transition:color .15s;transition:color .15s;color:#639}body{font-family:Roboto}.visibleMobile{display:none}.video-responsive{position:relative;padding-bottom:56.2%}a,a:hover{text-decoration:none}.displayInline{display:inline-block}.navBarToggle{border:1px solid #fff;border-radius:4px;width:36px;height:33px;position:absolute;right:20px;padding:8px 5px;display:none}.navBarToggle .iconBar{display:block;width:22px;height:2px;border-radius:1px;margin:4px auto 0;background-color:#fff}.navBarToggle .iconBar:first-child{margin-top:0}.video-responsive iframe{position:absolute;width:100%;height:100%}.diffNewLine{color:#22863a;background-color:#f0fff4}.diffRemoveLine{color:red;background-color:#fcc}.navBarParent{width:100%;float:left;display:flex;align-items:center}.divider{height:30px;margin:0 15px;border-right:1px solid hsla(0,0%,100%,.3)}.githubIcon{width:15px;margin-right:5px}.githubSection{display:flex;align-items:center;color:#000;opacity:.7}.githubSection:hover{text-decoration:none;opacity:1}.navbar-default .navbar-toggle .icon-bar{background-color:#fff!important}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#542683}.headerWrapper{border-bottom:1px solid #d4dadf;box-shadow:0 1px 1px 0 rgba(116,129,141,.1);display:flex;align-items:center}.formElement{background-color:transparent;padding:4px;border-bottom:1px solid hsla(0,0%,100%,.3)}.formElement:focus{outline:none;border:none}.formElement svg path{fill:#fff}.searchInput{width:calc(100% - 26px);background-color:transparent!important;border-width:0!important;color:#c2c2c2}.searchInput:focus,.searchInput:focus-within,.searchInput:hover,.searchInput:visited{outline:none;border:0}.searchWrapper{padding-left:0;padding-right:20px;flex:1 1;max-width:600px;position:relative}.searchWrapper a{font-weight:500}.hitWrapper{background-color:#fff;padding:.7em 1em .4em;border-radius:4px;position:absolute;width:80vw;max-width:30em;top:40px;border:1px solid #ccc;box-shadow:0 1px 4px 0 rgba(0,0,0,.16);height:auto;max-height:80vh;overflow:scroll;left:0}.hitWrapper ul li{margin-top:.7em;padding-top:.7em;border-top:1px solid;list-style-type:none}.hitWrapper ul li:first-child{border-top:0;margin-top:0;color:#000!important;padding:0}.showResults{display:block}.hideResults{display:none}.hitWrapper span{color:#000;font-size:14px}.headerTitle{height:auto;font-size:28px;line-height:1.5;font-weight:500;color:#fff!important}.headerTitle a{color:#fff}.headerTitle a:hover{text-decoration:none;opacity:.8}.logoWrapper{padding:21px 0 21px 20px}.logoContent{font-family:Roboto;margin-left:16px;font-size:28px;line-height:1.5;font-weight:500;padding-right:10px}.navBarDefault{background-color:#372476;border-radius:0;margin-bottom:0;border:0;box-shadow:-1px 0 4px 1px rgba(175,158,232,.4);-webkit-box-shadow:-1px 0 4px 1px rgba(175,158,232,.4);-moz-box-shadow:-1px 0 4px 1px rgba(175,158,232,.8);-o-box-shadow:-1px 0 4px 1px rgba(175,158,232,.4);z-index:1;padding:15px;position:relative}.navBarDefault,.navBarHeader{display:flex;align-items:center}.navBarHeader{min-width:335px;padding-right:20px;flex:1 1}.navBarBrand{padding:0;display:flex;align-items:center}.navBarBrand img{width:40px;margin-right:16px;display:inline-block}.navBarUL li{list-style-type:none}.navBarUL{-webkit-overflow-scrolling:touch}.navBarUL li a{font-family:Roboto;color:#fff!important;font-size:16px;font-weight:500;line-height:1em;opacity:1;padding:10px 15px}.navBarNav{display:flex;align-items:center}.navBarUL li a .shareIcon,.navBarUL li a img{width:20px}.mainWrapper{color:#3b454e;max-width:950px}.navBarUL li a:hover{opacity:.7}pre{border:0!important;background-color:#f5f7f9 /* !important; */}.mainWrapper ol,.mainWrapper ul{-webkit-padding-start:40px;-moz-padding-start:40px;-o-padding-start:40px;margin:24px 0;padding:0 0 0 2em}.mainWrapper ol li,.mainWrapper ul li{font-size:16px;line-height:1.8;font-weight:400}.headerNav{font-family:Roboto;padding:0 24px;color:#744cbc;font-size:16px;font-weight:500;line-height:1em}.headerNav a{color:#744cbc}.headerNav a,.headerNav a:hover{text-decoration:none}.logoWrapper img{width:40px}.sideBarUL{margin-top:32px}.sideBarUL li{list-style-type:none;width:auto}.sideBarUL li a{color:#fff;font-size:14px;font-weight:500;line-height:1.5;padding:7px 25px 7px 10px;border:1px solid transparent;border-right:0}.rightSideTitle{font-size:10px;line-height:1;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;padding:7px 24px 7px 16px;border-left:1px solid #e6ecf1;color:#4c5767}.rightSideBarUL{margin-top:32px}.rightSideBarUL li{list-style-type:none;border-left:1px solid #e6ecf1}.rightSideBarUL li a{font-size:12px;font-weight:500;line-height:1.5;padding:7px 24px 7px 16px}.hideFrontLine .collapser{background:transparent;border:none;outline:none;position:absolute;right:20px;z-index:1;cursor:pointer}.hideFrontLine .active>a{background-color:#542683;color:#fff!important}.firstLevel ul li .collapser svg path{fill:#fff!important}.active .collapser>svg>path{fill:#639!important}.firstLevel ul .item ul .item{border-left:1px solid #e6ecf1}.sideBarUL .item{list-style:none;padding:0}.sideBarUL .item>a{color:#fff;text-decoration:none;display:flex;align-items:center;position:relative;width:100%;padding-right:35px;padding-left:15px}.sideBarUL .item>a:hover{background-color:#542683;color:#fff!important}.showFrontLine .item>a:hover{background-color:#542683}.showFrontLine .active>a{color:#fff;background-color:#473485}.sideBarUL .item .item{margin-left:16px}.firstLevel>ul>.item{margin-left:0!important}.showFrontLine .item .item{border-left:1px solid #e6ecf1;padding:0;width:calc(100% - 16px)!important}.showFrontLine .item .active>a{border-color:#e6ecf1!important;border-style:solid none solid solid;border-width:1px 0 1px 1px;background-color:#542683;color:#fff}.titleWrapper{display:flex;align-items:center;padding-bottom:40px;border-bottom:1px solid #e6ecf1;margin-bottom:32px}.title{font-size:32px;line-height:1.5;font-weight:500;border-left:2px solid #744cbc;flex:1 1;margin-top:0;padding:0 16px}.gitBtn{height:30px;min-height:30px;display:flex;align-items:center}.gitBtn img{width:15px;display:inline-block;margin-right:5px}.addPaddTopBottom{padding:50px 0}.nextPreviousWrapper{margin:0;padding:0;width:auto;display:grid;grid-template-rows:auto;-webkit-column-gap:24px;column-gap:24px;grid-template-columns:calc(50% - 8px) calc(50% - 8px)}.previousBtn{cursor:pointer;-moz-box-align:center;margin:0;padding:0;position:relative;display:flex;flex-direction:row;align-items:center;place-self:stretch;color:#242a31;background-color:#fff;border-radius:3px;border:1px solid #e6ecf1;-webkit-transition:border .2s ease 0s;transition:border .2s ease 0s;box-shadow:0 3px 8px 0 rgba(116,129,141,.1);text-decoration:none}.leftArrow{color:#9daab6;flex:0 0 auto;font-size:24px;-webkit-transition:color .2s ease 0s;transition:color .2s ease 0s}.leftArrow,.preRightWrapper{display:block;margin:0;padding:16px}.preRightWrapper{flex:1 1;text-align:right}.smallContent{display:block;margin:0;padding:0;color:#6e6e6e}.smallContent span{font-size:12px;line-height:1.625;font-weight:400}.nextPreviousTitle{display:block;margin:0;padding:0;-webkit-transition:color .2s ease 0s;transition:color .2s ease 0s}.nextPreviousTitle span{font-size:16px;line-height:1.5;font-weight:500}.nextBtn{cursor:pointer;-moz-box-align:center;margin:0;padding:0;position:relative;display:flex;flex-direction:row;align-items:center;place-self:stretch;color:#242a31;background-color:#fff;border-radius:3px;border:1px solid #e6ecf1;-webkit-transition:border .2s ease 0s;transition:border .2s ease 0s;box-shadow:0 3px 8px 0 rgba(116,129,141,.1);text-decoration:none}.rightArrow{flex:0 0 auto;font-size:24px;-webkit-transition:color .2s ease 0s;transition:color .2s ease 0s;color:#9daab6}.nextRightWrapper,.rightArrow{padding:16px;display:block;margin:0}.nextRightWrapper{flex:1 1}.nextBtn:hover,.previousBtn:hover{color:#744cbc;text-decoration:none;border:1px solid #744cbc}.nextBtn:hover .rightArrow,.previousBtn:hover .leftArrow{color:#744cbc}table,table tr{padding:0}table tr{border-top:1px solid #ccc;background-color:#fff;margin:0}table tr:nth-child(2n){background-color:#f8f8f8}table tr th{font-weight:700}table tr td,table tr th{border:1px solid #ccc;text-align:left;margin:0;padding:6px 13px}table tr td :first-child,table tr th :first-child{margin-top:0}table tr td :last-child,table tr th :last-child{margin-bottom:0}img{max-width:100%}.githubBtn{font-size:16px;padding:10px 0 10px 15px;max-height:40px}.githubBtn,.githubBtn span span{display:flex;align-items:center}.communitySection{font-size:24px;font-weight:700}.authorSection{padding:20px 0}.authorName,.authorSection{display:flex;align-items:center}.authorImg img{width:75px;height:75px;border-radius:50%;min-width:75px;max-width:75px;min-height:75px;max-height:75px}.authorDetails{padding-left:10px}.authorDesc{padding-top:5px;font-size:14px}.authorName img{margin-left:10px;display:inline-block;width:20px}.authorName img:hover{opacity:.7}.heading1{font-size:26px;font-weight:800}.heading1,.heading2{line-height:1.5;margin-bottom:16px;margin-top:32px}.heading2{font-size:24px;font-weight:700}.heading3{font-size:20px;font-weight:600}.heading3,.heading4{line-height:1.5;margin-bottom:16px;margin-top:32px}.heading4{font-size:18px;font-weight:500}.heading5{font-size:16px;font-weight:400}.heading5,.heading6{line-height:1.5;margin-bottom:16px;margin-top:32px}.heading6{font-size:14px;font-weight:300}.paragraph{margin:16px 0 32px;line-height:1.625}.pre{font-size:14px;margin:0;padding:16px;overflow:auto}.mainWrapper code{background:#f9f7fb;border:1px solid #ede7f3;border-radius:4px;padding:2px 6px;font-size:.9375em}.poweredBy{font-size:.6em;text-align:end;padding:0}.topnav{-webkit-transition:top .5s,bottom .5s}@media (max-width:767px){.responsive{margin-top:15px;position:relative;padding-bottom:20px;border-top:1px solid #fff}.headerTitle{padding-right:50px;font-size:20px}.navBarBrand{min-height:40px}.navBarBrand img{margin-right:8px}.topnav.responsive .visibleMobile{display:block}.topnav .navBarUL{display:none}.topnav.responsive .navBarUL{display:block;text-align:left}.hiddenMobile{display:none!important}hr{margin-top:0;margin-bottom:0}.navBarParent{display:block}.separator{margin-top:20px;margin-bottom:20px}.navBarULRight{position:static}.navBarUL{display:flex;align-items:center;margin:7.5px 0}.navBarUL li{height:37px}.navBarUL li a{font-size:14px;padding:10px 15px}.navBarDefault{display:block}.navBarToggle{margin-right:0;display:block}.navBarHeader{display:flex;min-width:auto;padding-right:0;align-items:center}.navBarBrand{font-size:20px;flex:initial;padding:0 15px 0 0}.titleWrapper{padding:0 15px;display:block}.gitBtn{display:inline-block}.mainWrapper{padding:0 15px}.nextPreviousWrapper{display:block;padding:0 15px}.previousBtn{margin-bottom:20px}.mobileView{text-align:left!important;padding-left:0!important}.searchWrapper{padding:20px 0 0;position:absolute;bottom:0;width:calc(100% - 30px)}.hitWrapper{width:100%;right:0;top:35px;max-height:-webkit-fit-content;max-height:-moz-fit-content;max-height:fit-content;position:static}}@media (min-width:768px) and (max-width:991px){.navBarDefault{padding:10px}.navBarBrand{font-size:22px}.navBarHeader{min-width:240px;flex:initial}.githubBtn{padding:10px}.divider{margin:0 5px;height:20px}.hitWrapper{max-width:500px}.navBarUL li a{padding:10px 5px}.searchWrapper{padding-left:0}}</style><meta name="generator" content="Gatsby 2.19.12"/><link rel="preconnect" href="https://instagram.com"/><link rel="sitemap" type="application/xml" href="/sitemap.xml"/><title data-react-helmet="true">O que é a Plataforma da Reativa?</title><link data-react-helmet="true" rel="canonical" href="https://nodejs.reativa.dev/"/><meta data-react-helmet="true" name="title" content="O que é a Plataforma da Reativa?"/><meta data-react-helmet="true" name="description" content="Apresentação Plataforma da Reativa e Perfil Paulo Luan"/><meta data-react-helmet="true" property="og:title" content="O que é a Plataforma da Reativa?"/><meta data-react-helmet="true" property="og:description" content="Apresentação Plataforma da Reativa e Perfil Paulo Luan"/><meta data-react-helmet="true" property="twitter:title" content="O que é a Plataforma da Reativa?"/><meta data-react-helmet="true" property="twitter:description" content="Apresentação Plataforma da Reativa e Perfil Paulo Luan"/><script>
!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;
n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,
document,'script','https://connect.facebook.net/en_US/fbevents.js');
fbq('init', '2374911412821725'); // Insert your pixel ID here.
fbq('track', 'PageView');
</script><script async="" src="https://www.googletagmanager.com/gtag/js?id=UA-155080700-2"></script><script>
window.GATSBY_GTAG_PLUGIN_GA_TRACKING_ID = (
'UA-155080700-2'
);
window.GATSBY_GTAG_PLUGIN_ANONYMIZE = false;
var options = {
send_page_view: false
};
if (false) {
options.anonymize_ip = true;
}
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
window.gtag = gtag;
gtag('js', new Date());
gtag('config', 'UA-155080700-2', options);
</script><link as="script" rel="preload" href="/webpack-runtime-93e739afd2c308098c8e.js"/><link as="script" rel="preload" href="/styles-59bc4aca6fceaa19b309.js"/><link as="script" rel="preload" href="/commons-bf39fb211f2d41bc33ff.js"/><link as="script" rel="preload" href="/app-6d6666e88e12b46ed936.js"/><link as="fetch" rel="preload" href="/page-data/index/page-data.json" crossorigin="anonymous"/></head><body><div id="___gatsby"><div style="outline:none" tabindex="-1" role="group" id="gatsby-focus-wrapper"><div><div class="navBarWrapper"><nav class="navBarDefault"><div class="navBarHeader"><a href="http://bit.ly/reativa-insta" class="navBarBrand"><img class="img-responsive displayInline" src="https://scontent.fsjk1-1.fna.fbcdn.net/v/t1.0-9/83652091_136284957845200_8237786461009608704_n.png?_nc_cat=109&_nc_ohc=BC9ilU71jTAAX_V9Elf&_nc_ht=scontent.fsjk1-1.fna&oh=c145d921258900ee4f26d0a56fe2ecdb&oe=5EB8C623" alt="logo"/></a><div class="headerTitle displayInline">NodeJS para iniciantes | Reativa</div><span class="navBarToggle"><span class="iconBar"></span><span class="iconBar"></span><span class="iconBar"></span></span></div><div id="navbar" class="topnav"><div class="visibleMobile"><style data-emotion-css="dh0tux">.css-dh0tux{width:100%;height:100vh;overflow:auto;position:fixed;padding-left:0px;position:-webkit-sticky;position:-moz-sticky;position:-webkit-sticky;position:sticky;top:0;padding-right:0;background-color:#372476;background:linear-gradient(#372476,#3b173b);background:-webkit-gradient(linear,0% 0%,0% 100%,from(#372476),to(#3b173b));background:-webkit-linear-gradient(top,#372476,#3b173b);background:-moz-linear-gradient(top,#372476,#3b173b);background:-ms-linear-gradient(top,#372476,#3b173b);background:-o-linear-gradient(top,#372476,#3b173b);}@media only screen and (max-width:1023px){.css-dh0tux{width:100%;height:100vh;}}@media (min-width:767px) and (max-width:1023px){.css-dh0tux{padding-left:0;}}@media only screen and (max-width:767px){.css-dh0tux{padding-left:0px;background-color:#372476;background:#372476;height:auto;}}</style><aside class="css-dh0tux e1kotgq21"><ul class="sideBarUL"><li class="hideFrontLine firstLevel item "><ul><li class=" item "><a href="/introduction">Paulo Luan</a></li><li class=" item "><a href="/0001-node-introduction/index">Introdução ao Node.js</a></li><li class=" item "><a href="/0002-node-history/index">Uma breve história do Node.js</a></li><li class=" item "><a href="/0003-node-installation/index">Como instalar o Node.js</a></li><li class=" item "><a href="/0004-node-javascript-language/index">Quanto de JavaScript você precisa saber para usar Node.js?</a></li><li class=" item "><a href="/0005-node-difference-browser/index">Diferenças entre Node.js e o navegador</a></li><li class=" item "><a href="/0006-v8/index">O V8 JavaScript Engine</a></li><li class=" item "><a href="/0007-node-run-cli/index">Execute scripts Node.js na linha de comando</a></li><li class=" item "><a href="/0008-node-terminate-program/index">Como sair de um programa Node.js</a></li><li class=" item "><a href="/0009-node-environment-variables/index">Como ler variáveis de ambiente do Node.js</a></li><li class=" item "><a href="/0011-node-repl/index">Como usar o REPL no Node.js</a></li><li class=" item "><a href="/0012-node-cli-args/index">Node.js, aceite os argumentos da linha de comando</a></li><li class=" item "><a href="/0013-node-output-to-cli/index">Saída para a linha de comando usando Node.js</a></li><li class=" item "><a href="/0014-node-input-from-cli/index">Aceite a entrada da linha de comando em Node.js</a></li><li class=" item "><a href="/0015-node-export-module/index">Expor a funcionalidade de um arquivo Node.js usando exportações</a></li><li class=" item "><a href="/0016-npm/index">Uma introdução ao gerenciador de pacotes npm</a></li><li class=" item "><a href="/0017-where-npm-install-packages/index">Onde o npm instala os pacotes?</a></li><li class=" item "><a href="/0018-how-to-use-npm-package/index">Como usar ou executar um pacote instalado usando npm</a></li><li class=" item "><a href="/0019-package-json/index">O guia do package.json</a></li><li class=" item "><a href="/0020-package-lock-json/index">O arquivo package-lock.json</a></li><li class=" item "><a href="/0021-npm-know-version-installed/index">Encontre a versão instalada de um pacote npm</a></li><li class=" item "><a href="/0022-npm-install-previous-package-version/index">Instale uma versão mais antiga de um pacote npm</a></li><li class=" item "><a href="/0023-update-npm-dependencies/index">Atualize todas as dependências do Node.js para a versão mais recente</a></li><li class=" item "><a href="/0024-npm-semantic-versioning/index">Semantic Versioning com npm</a></li><li class=" item "><a href="/0025-npm-uninstall-packages/index">Desinstalando pacotes npm</a></li><li class=" item "><a href="/0026-npm-packages-local-global/index">Pacotes npm global ou local</a></li><li class=" item "><a href="/0027-npm-dependencies-devdependencies/index">npm dependencies e devDependencies</a></li><li class=" item "><a href="/0028-npx/index">O npx Package Runner</a></li><li class=" item "><a href="/0029-node-event-loop/index">Event Loop</a></li><li class=" item "><a href="/0030-node-process-nexttick/index">Entendendo process.nextTick()</a></li><li class=" item "><a href="/0031-node-setimmediate/index">Entendendo setImmediate()</a></li><li class=" item "><a href="/0032-javascript-timers/index">JavaScript Timers</a></li><li class=" item "><a href="/0033-javascript-callbacks/index">Programação assíncrona de JavaScript e Callbacks</a></li><li class=" item "><a href="/0034-javascript-promises/index">Entendendo JavaScript Promises</a></li><li class=" item "><a href="/0035-javascript-async-await/index">JavaScript assíncrono moderno com Async e Await</a></li><li class=" item "><a href="/0036-node-event-emitter/index">Event emitter</a></li><li class=" item "><a href="/0037-node-http-server/index">Construindo um servidor HTTP</a></li><li class=" item "><a href="/0038-node-make-http-requests/index">Fazer solicitações HTTP com Node.js</a></li><li class=" item "><a href="/0039-node-http-post/index">Faça uma requisição HTTP POST usando Node.js</a></li><li class=" item "><a href="/0040a-node-request-data/index">Get HTTP request body data usando Node.js</a></li><li class=" item "><a href="/0040b-node-file-descriptors/index">Trabalhar com descritores de arquivo em Node.js</a></li><li class=" item "><a href="/0041-node-file-stats/index">Como obter os detalhes de um arquivo usando Node.js</a></li><li class=" item "><a href="/0042-node-file-paths/index">Path de arquivo Node.js</a></li><li class=" item "><a href="/0043-node-reading-files/index">Como Ler arquivos usando Node.js</a></li><li class=" item "><a href="/0044-node-writing-files/index">Gravando arquivos com Node.js</a></li><li class=" item "><a href="/0045-node-folders/index">Trabalho com pastas em Node.js</a></li><li class=" item "><a href="/0046-node-module-fs/index">O módulo fs do Node.js</a></li><li class=" item "><a href="/0047-node-module-path/index">O módulo de path do Node.js</a></li><li class=" item "><a href="/0048-node-module-os/index">O módulo de sistema operacional Node.js.</a></li><li class=" item "><a href="/0049-node-module-events/index">O módulo de eventos do Node.js</a></li><li class=" item "><a href="/0050-node-module-http/index">O módulo http do Node.js</a></li><li class=" item "><a href="/0051-node-buffers/index">Node.js Buffers</a></li><li class=" item "><a href="/0052-nodejs-streams/index">Node.js Streams</a></li><li class=" item "><a href="/0053-node-difference-dev-prod/index">Node.js, a diferença entre desenvolvimento e produção</a></li><li class=" item "><a href="/0054-node-exceptions/index">Tratamento de erros no Node.js</a></li><li class=" item "><a href="/0055-node-inspect-object/index">Como Loggar um objeto no Node.js</a></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li></ul></li><style data-emotion-css="1q387v1">.css-1q387v1{list-style:none;padding:0.5rem 0;}.css-1q387v1 hr{margin:0;padding:0;border:0;border-bottom:1px solid #ede7f3;}</style><li class="css-1q387v1 e1kotgq22"><hr/></li><style data-emotion-css="1ktax4b">.css-1ktax4b{list-style:none;}.css-1ktax4b a{color:#5C6975;-webkit-text-decoration:none;text-decoration:none;font-weight:400;padding:0.45rem 0 0.45rem 2rem;display:block;position:relative;}.css-1ktax4b a:hover{color:rgb(116,76,188) !important;}.css-1ktax4b a svg{float:right;margin-right:1rem;}</style><li class="css-1ktax4b e1kotgq20"><a href="http://bit.ly/reativa-insta" to="http://bit.ly/reativa-insta">Reativa Instagram<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path><polyline points="15 3 21 3 21 9"></polyline><line x1="10" y1="14" x2="21" y2="3"></line></svg></a></li></ul></aside><hr/></div><ul class="navBarUL navBarNav navBarULRight"><li class="divider hiddenMobile"></li><li class="githubBtn"><span><a href="https://github.com/reativa" data-show-count="true" aria-label="Star on GitHub">Star</a></span></li></ul></div></nav></div><style data-emotion-css="1s71mnb">.css-1s71mnb{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;}@media only screen and (max-width:767px){.css-1s71mnb{display:block;}}</style><div class="css-1s71mnb ezj7nro0"><style data-emotion-css="192n44p">.css-192n44p{width:298px;}</style><div class="hiddenMobile css-192n44p ezj7nro3"><style data-emotion-css="dh0tux">.css-dh0tux{width:100%;height:100vh;overflow:auto;position:fixed;padding-left:0px;position:-webkit-sticky;position:-moz-sticky;position:-webkit-sticky;position:sticky;top:0;padding-right:0;background-color:#372476;background:linear-gradient(#372476,#3b173b);background:-webkit-gradient(linear,0% 0%,0% 100%,from(#372476),to(#3b173b));background:-webkit-linear-gradient(top,#372476,#3b173b);background:-moz-linear-gradient(top,#372476,#3b173b);background:-ms-linear-gradient(top,#372476,#3b173b);background:-o-linear-gradient(top,#372476,#3b173b);}@media only screen and (max-width:1023px){.css-dh0tux{width:100%;height:100vh;}}@media (min-width:767px) and (max-width:1023px){.css-dh0tux{padding-left:0;}}@media only screen and (max-width:767px){.css-dh0tux{padding-left:0px;background-color:#372476;background:#372476;height:auto;}}</style><aside class="css-dh0tux e1kotgq21"><ul class="sideBarUL"><li class="hideFrontLine firstLevel item "><ul><li class=" item "><a href="/introduction">Paulo Luan</a></li><li class=" item "><a href="/0001-node-introduction/index">Introdução ao Node.js</a></li><li class=" item "><a href="/0002-node-history/index">Uma breve história do Node.js</a></li><li class=" item "><a href="/0003-node-installation/index">Como instalar o Node.js</a></li><li class=" item "><a href="/0004-node-javascript-language/index">Quanto de JavaScript você precisa saber para usar Node.js?</a></li><li class=" item "><a href="/0005-node-difference-browser/index">Diferenças entre Node.js e o navegador</a></li><li class=" item "><a href="/0006-v8/index">O V8 JavaScript Engine</a></li><li class=" item "><a href="/0007-node-run-cli/index">Execute scripts Node.js na linha de comando</a></li><li class=" item "><a href="/0008-node-terminate-program/index">Como sair de um programa Node.js</a></li><li class=" item "><a href="/0009-node-environment-variables/index">Como ler variáveis de ambiente do Node.js</a></li><li class=" item "><a href="/0011-node-repl/index">Como usar o REPL no Node.js</a></li><li class=" item "><a href="/0012-node-cli-args/index">Node.js, aceite os argumentos da linha de comando</a></li><li class=" item "><a href="/0013-node-output-to-cli/index">Saída para a linha de comando usando Node.js</a></li><li class=" item "><a href="/0014-node-input-from-cli/index">Aceite a entrada da linha de comando em Node.js</a></li><li class=" item "><a href="/0015-node-export-module/index">Expor a funcionalidade de um arquivo Node.js usando exportações</a></li><li class=" item "><a href="/0016-npm/index">Uma introdução ao gerenciador de pacotes npm</a></li><li class=" item "><a href="/0017-where-npm-install-packages/index">Onde o npm instala os pacotes?</a></li><li class=" item "><a href="/0018-how-to-use-npm-package/index">Como usar ou executar um pacote instalado usando npm</a></li><li class=" item "><a href="/0019-package-json/index">O guia do package.json</a></li><li class=" item "><a href="/0020-package-lock-json/index">O arquivo package-lock.json</a></li><li class=" item "><a href="/0021-npm-know-version-installed/index">Encontre a versão instalada de um pacote npm</a></li><li class=" item "><a href="/0022-npm-install-previous-package-version/index">Instale uma versão mais antiga de um pacote npm</a></li><li class=" item "><a href="/0023-update-npm-dependencies/index">Atualize todas as dependências do Node.js para a versão mais recente</a></li><li class=" item "><a href="/0024-npm-semantic-versioning/index">Semantic Versioning com npm</a></li><li class=" item "><a href="/0025-npm-uninstall-packages/index">Desinstalando pacotes npm</a></li><li class=" item "><a href="/0026-npm-packages-local-global/index">Pacotes npm global ou local</a></li><li class=" item "><a href="/0027-npm-dependencies-devdependencies/index">npm dependencies e devDependencies</a></li><li class=" item "><a href="/0028-npx/index">O npx Package Runner</a></li><li class=" item "><a href="/0029-node-event-loop/index">Event Loop</a></li><li class=" item "><a href="/0030-node-process-nexttick/index">Entendendo process.nextTick()</a></li><li class=" item "><a href="/0031-node-setimmediate/index">Entendendo setImmediate()</a></li><li class=" item "><a href="/0032-javascript-timers/index">JavaScript Timers</a></li><li class=" item "><a href="/0033-javascript-callbacks/index">Programação assíncrona de JavaScript e Callbacks</a></li><li class=" item "><a href="/0034-javascript-promises/index">Entendendo JavaScript Promises</a></li><li class=" item "><a href="/0035-javascript-async-await/index">JavaScript assíncrono moderno com Async e Await</a></li><li class=" item "><a href="/0036-node-event-emitter/index">Event emitter</a></li><li class=" item "><a href="/0037-node-http-server/index">Construindo um servidor HTTP</a></li><li class=" item "><a href="/0038-node-make-http-requests/index">Fazer solicitações HTTP com Node.js</a></li><li class=" item "><a href="/0039-node-http-post/index">Faça uma requisição HTTP POST usando Node.js</a></li><li class=" item "><a href="/0040a-node-request-data/index">Get HTTP request body data usando Node.js</a></li><li class=" item "><a href="/0040b-node-file-descriptors/index">Trabalhar com descritores de arquivo em Node.js</a></li><li class=" item "><a href="/0041-node-file-stats/index">Como obter os detalhes de um arquivo usando Node.js</a></li><li class=" item "><a href="/0042-node-file-paths/index">Path de arquivo Node.js</a></li><li class=" item "><a href="/0043-node-reading-files/index">Como Ler arquivos usando Node.js</a></li><li class=" item "><a href="/0044-node-writing-files/index">Gravando arquivos com Node.js</a></li><li class=" item "><a href="/0045-node-folders/index">Trabalho com pastas em Node.js</a></li><li class=" item "><a href="/0046-node-module-fs/index">O módulo fs do Node.js</a></li><li class=" item "><a href="/0047-node-module-path/index">O módulo de path do Node.js</a></li><li class=" item "><a href="/0048-node-module-os/index">O módulo de sistema operacional Node.js.</a></li><li class=" item "><a href="/0049-node-module-events/index">O módulo de eventos do Node.js</a></li><li class=" item "><a href="/0050-node-module-http/index">O módulo http do Node.js</a></li><li class=" item "><a href="/0051-node-buffers/index">Node.js Buffers</a></li><li class=" item "><a href="/0052-nodejs-streams/index">Node.js Streams</a></li><li class=" item "><a href="/0053-node-difference-dev-prod/index">Node.js, a diferença entre desenvolvimento e produção</a></li><li class=" item "><a href="/0054-node-exceptions/index">Tratamento de erros no Node.js</a></li><li class=" item "><a href="/0055-node-inspect-object/index">Como Loggar um objeto no Node.js</a></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li><li class=" item "></li></ul></li><style data-emotion-css="1q387v1">.css-1q387v1{list-style:none;padding:0.5rem 0;}.css-1q387v1 hr{margin:0;padding:0;border:0;border-bottom:1px solid #ede7f3;}</style><li class="css-1q387v1 e1kotgq22"><hr/></li><style data-emotion-css="1ktax4b">.css-1ktax4b{list-style:none;}.css-1ktax4b a{color:#5C6975;-webkit-text-decoration:none;text-decoration:none;font-weight:400;padding:0.45rem 0 0.45rem 2rem;display:block;position:relative;}.css-1ktax4b a:hover{color:rgb(116,76,188) !important;}.css-1ktax4b a svg{float:right;margin-right:1rem;}</style><li class="css-1ktax4b e1kotgq20"><a href="http://bit.ly/reativa-insta" to="http://bit.ly/reativa-insta">Reativa Instagram<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path><polyline points="15 3 21 3 21 9"></polyline><line x1="10" y1="14" x2="21" y2="3"></line></svg></a></li></ul></aside></div><style data-emotion-css="tt3c6h">.css-tt3c6h{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;margin:0px 88px;margin-top:3rem;}@media only screen and (max-width:1023px){.css-tt3c6h{padding-left:0;margin:0 10px;margin-top:3rem;}}</style><main class="css-tt3c6h ezj7nro1"><style data-emotion-css="14zj307">@media only screen and (max-width:50rem){.css-14zj307{width:100%;position:relative;}}</style><div class="css-14zj307 ezj7nro2"><div class="titleWrapper"><h1 class="title">Introdução</h1><style data-emotion-css="qu2iew">.css-qu2iew{padding:1rem 1.5rem;text-align:right;}.css-qu2iew a{font-size:14px;font-weight:500;line-height:1em;-webkit-text-decoration:none;text-decoration:none;color:#555;border:1px solid rgb(211,220,228);cursor:pointer;border-radius:3px;-webkit-transition:all 0.2s ease-out 0s;transition:all 0.2s ease-out 0s;-webkit-text-decoration:none;text-decoration:none;color:rgb(36,42,49);background-color:rgb(255,255,255);box-shadow:rgba(116,129,141,0.1) 0px 1px 1px 0px;height:30px;padding:5px 16px;}.css-qu2iew a:hover{background-color:rgb(245,247,249);}</style><div class="mobileView css-qu2iew ezk51vi0"></div></div><div class="mainWrapper"><h2 class="heading2" id="sejabemvindo!">Seja bem vindo!</h2><p class="paragraph">Comece clicando ali na introdução!</p><p class="paragraph">👆👈</p></div><div class="addPaddTopBottom"><div class="nextPreviousWrapper"></div></div></div></main><style data-emotion-css="gqp3x7">.css-gqp3x7{width:224px;}</style><div class="hiddenMobile css-gqp3x7 ezj7nro4"><style data-emotion-css="1p56bun">.css-1p56bun{width:100%;background-color:#fff;border-right:1px solid #ede7f3;height:100vh;overflow:auto;position:fixed;padding-left:24px;position:-webkit-sticky;position:-moz-sticky;position:-webkit-sticky;position:sticky;top:0;}@media only screen and (max-width:50rem){.css-1p56bun{width:100%;position:relative;}}</style><aside class="css-1p56bun ekuuqq40"><ul class="rightSideBarUL"><li class="rightSideTitle">CONTENTS</li><style data-emotion-css="y7fnpn">.css-y7fnpn{list-style:none;}.css-y7fnpn a{color:#5C6975;-webkit-text-decoration:none;text-decoration:none;font-weight:400;padding:0.45rem 0 0.45rem 3rem;display:block;position:relative;}.css-y7fnpn a:hover{color:rgb(116,76,188) !important;}.css-y7fnpn a svg{float:right;margin-right:1rem;}</style><li class="css-y7fnpn ekuuqq41"><a href="#sejabemvindo!" to="#sejabemvindo!">Seja bem vindo!</a></li></ul></aside></div></div></div></div></div><script>
window.gatsbyLoadInstagram = function() {
var js = document.createElement('script');
var firstScript = document.getElementsByTagName('script')[0];
js.id = 'gatsby-plugin-instagram';
js.src = 'https://instagram.com/embed.js';
firstScript.parentNode.insertBefore(js, firstScript);
return true;
}
</script><script id="gatsby-script-loader">/*<![CDATA[*/window.pagePath="/";/*]]>*/</script><script id="gatsby-chunk-mapping">/*<![CDATA[*/window.___chunkMapping={"app":["/app-6d6666e88e12b46ed936.js"],"component---src-templates-docs-js":[]};/*]]>*/</script><script src="/app-6d6666e88e12b46ed936.js" async=""></script><script src="/commons-bf39fb211f2d41bc33ff.js" async=""></script><script src="/styles-59bc4aca6fceaa19b309.js" async=""></script><script src="/webpack-runtime-93e739afd2c308098c8e.js" async=""></script><script defer="">
function navBarClose() {
document.getElementById("navbar").classList.toggle("responsive");
}
document.addEventListener('click',function(e){
if(e.target && e.target.tagName.toLowerCase() === 'a'){
navBarClose();
}
});
</script></body></html>