{"id":66085,"date":"2023-12-18T13:26:13","date_gmt":"2023-12-18T16:26:13","guid":{"rendered":"https:\/\/kinsta.com\/pt\/?p=66085&#038;preview=true&#038;preview_id=66085"},"modified":"2023-12-19T14:52:49","modified_gmt":"2023-12-19T17:52:49","slug":"crie-aplicativo-express","status":"publish","type":"post","link":"https:\/\/kinsta.com\/pt\/blog\/crie-aplicativo-express\/","title":{"rendered":"Crie e Implante um Aplicativo Node.js em 5 Minutos com Express"},"content":{"rendered":"<p>O Express, o <a href=\"https:\/\/github.com\/VanoDevium\/node-framework-stars\" target=\"_blank\" rel=\"noopener noreferrer\">framework Node.js mais utilizado<\/a> no mundo, permite que os desenvolvedores criem servidores web de backend com JavaScript. Este framework fornece a maior parte do que os desenvolvedores de backend precisam &#8220;pronto para uso&#8221;, simplificando o roteamento e a resposta a solicita\u00e7\u00f5es web.<\/p>\n<p>J\u00e1 temos um guia sobre <a href=\"https:\/\/kinsta.com\/pt\/blog\/o-que-e-express-js\/\">tudo o que voc\u00ea deve saber sobre o Express.js<\/a>, portanto, este artigo pr\u00e1tico mostrar\u00e1 como us\u00e1-lo. Este tutorial explica como voc\u00ea pode criar e implantar um aplicativo <a href=\"https:\/\/kinsta.com\/pt\/blog\/o-que-e-node-js\/\">Node.js<\/a> de exemplo usando o Express.js.<\/p>\n<div><\/div><kinsta-auto-toc heading=\"Table of Contents\" exclude=\"last\" list-style=\"arrow\" selector=\"h2\" count-number=\"-1\"><\/kinsta-auto-toc>\n<h2>Como criar aplicativos rapidamente com Express.js<\/h2>\n<p>Este passo a passo demonstra como criar um aplicativo web que recebe solicita\u00e7\u00f5es em um endpoint, usa um par\u00e2metro da solicita\u00e7\u00e3o para fazer uma chamada ao banco de dados e retorna informa\u00e7\u00f5es do banco de dados como JSON.<\/p>\n<h3>Pr\u00e9-requisitos<\/h3>\n<p>Para seguir este tutorial, verifique se voc\u00ea tem o seguinte instalado em seu computador:<\/p>\n<ul>\n<li><a href=\"https:\/\/kinsta.com\/pt\/blog\/como-instalar-o-node-js\/\">Node.js e Node Package Manager<\/a> (npm) &#8211; Ambiente de tempo de execu\u00e7\u00e3o essencial e gerenciador de pacotes para JavaScript.<\/li>\n<li><a href=\"https:\/\/kinsta.com\/pt\/blog\/instalar-git\/\" target=\"_blank\" rel=\"noopener noreferrer\">Git<\/a> &#8211; Sistema de controle de vers\u00e3o distribu\u00eddo que facilita o desenvolvimento colaborativo de software.<\/li>\n<\/ul>\n<h2>Gerador de aplicativos Express<\/h2>\n<p>Voc\u00ea pode adicionar o Express a aplicativos Node existentes usando o processo descrito em nosso <a href=\"https:\/\/kinsta.com\/pt\/blog\/o-que-e-express-js\/#how-to-create-an-expressjs-app\">guia do Express.js<\/a>, mas se estiver come\u00e7ando do zero, h\u00e1 uma op\u00e7\u00e3o ainda mais r\u00e1pida: o <a href=\"https:\/\/expressjs.com\/en\/starter\/generator.html\" target=\"_blank\" rel=\"noopener noreferrer\">gerador do Express<\/a>.<\/p>\n<p>O gerador oficial Express do Express.js \u00e9 um pacote Node que permite gerar um novo esqueleto de aplicativo. Isso pode ser feito primeiro criando uma pasta para o seu aplicativo e depois executando o comando <code>npx<\/code> (dispon\u00edvel no Node.js 8.2.0):<\/p>\n<pre><code class=\"language-bash\">mkdir express-application\nnpx express-generator<\/code><\/pre>\n<p>Ap\u00f3s a gera\u00e7\u00e3o bem-sucedida, o terminal exibe uma lista de pastas\/arquivos criados e comandos para instalar depend\u00eancias e executar o aplicativo. Instale as depend\u00eancias executando o comando abaixo:<\/p>\n<pre><code class=\"language-bash\">npm install<\/code><\/pre>\n<p>Em seguida, inicie seu servidor web:<\/p>\n<pre><code class=\"language-bash\">DEBUG=myapp:* npm start<\/code><\/pre>\n<p>O aplicativo de esqueleto tem uma rota de \u00edndice pr\u00e9-constru\u00edda que renderiza uma p\u00e1gina inicial b\u00e1sica. Voc\u00ea pode visualiz\u00e1-la em seu navegador visitando <code>localhost:3000<\/code>.<\/p>\n<h3>Explorando o aplicativo Skeleton Express<\/h3>\n<p>Ao abrir o aplicativo Express no editor de c\u00f3digo de sua prefer\u00eancia, voc\u00ea encontrar\u00e1 uma estrutura b\u00e1sica que forma a espinha dorsal do seu aplicativo web.<\/p>\n<pre><code class=\"language-bash\">\/\n|-- \/node_modules\n|-- \/public\n|-- \/routes\n    |-- index.js\n    |-- users.js\n|-- \/views\n    |-- error.jade\n    |-- index.jade\n    |-- layout.jade\n|-- app.js\n|-- package.json<\/code><\/pre>\n<ul>\n<li><strong>node_modules:<\/strong> Esse diret\u00f3rio armazena todas as depend\u00eancias e bibliotecas instaladas para o projeto.<\/li>\n<li><strong>public:<\/strong> Cont\u00e9m ativos est\u00e1ticos como CSS, JavaScript, imagens, etc. Esses arquivos s\u00e3o servidos diretamente no navegador do cliente.<\/li>\n<li><strong>routes (rotas):<\/strong> Cont\u00e9m arquivos respons\u00e1veis pela defini\u00e7\u00e3o de v\u00e1rias rotas e pelo tratamento de solicita\u00e7\u00f5es provenientes de diferentes URLs.<\/li>\n<li><strong>views:<\/strong> Cont\u00e9m templates ou exibi\u00e7\u00f5es que o servidor renderiza para criar a interface do usu\u00e1rio. Aqui, <strong>error.jade<\/strong>, <strong>index.jade<\/strong> e <strong>layout.jade<\/strong> s\u00e3o templates escritos na linguagem de templates Jade. Eles ajudam a estruturar e renderizar o conte\u00fado din\u00e2mico para os usu\u00e1rios.<\/li>\n<li><strong>app.js:<\/strong> Esse arquivo normalmente serve como ponto de entrada para o aplicativo Express. \u00c9 nele que o servidor \u00e9 configurado, o middleware \u00e9 configurado, as rotas s\u00e3o definidas e as solicita\u00e7\u00f5es e respostas s\u00e3o tratadas.<\/li>\n<li><strong>package.json:<\/strong> Esse arquivo cont\u00e9m metadados sobre o aplicativo. Ele ajuda a gerenciar as depend\u00eancias e a configura\u00e7\u00e3o do projeto.<\/li>\n<\/ul>\n<h3>Entendendo o manuseio de rotas<\/h3>\n<p>No seu aplicativo Express, o diret\u00f3rio de <strong>rotas<\/strong> \u00e9 onde as rotas s\u00e3o definidas como arquivos separados. A rota principal, geralmente chamada de rota de \u00edndice, reside no arquivo <strong>routes\/index.js<\/strong>.<\/p>\n<p>Essa rota de \u00edndice lida com uma solicita\u00e7\u00e3o <code>GET<\/code>, respondendo com uma p\u00e1gina web gerada em HTML pela framework. Abaixo est\u00e1 o trecho de c\u00f3digo que ilustra como uma solicita\u00e7\u00e3o <code>GET<\/code> \u00e9 tratada para renderizar uma p\u00e1gina b\u00e1sica de boas-vindas:<\/p>\n<pre><code class=\"language-javascript\">var express = require('express');\nvar router = express.Router();\n\n\/* GET home page. *\/\nrouter.get('\/', function(req, res, next) {\n res.render('index', { title: 'Express' });\n});\n\nmodule.exports = router;<\/code><\/pre>\n<p>Se voc\u00ea modificar a fun\u00e7\u00e3o <code><a href=\"https:\/\/expressjs.com\/en\/api.html#res.render\" target=\"_blank\" rel=\"noopener noreferrer\">res.render()<\/a><\/code> para <code><a href=\"https:\/\/expressjs.com\/en\/api.html#res.send\" target=\"_blank\" rel=\"noopener noreferrer\">res.send()<\/a><\/code>o tipo de resposta muda de HTML para JSON:<\/p>\n<pre><code class=\"language-javascript\">var express = require('express');\nvar router = express.Router();\n\nrouter.get('\/', function(req, res, next) {\n  res.send({ key: 'value' });\n});\n\nmodule.exports = router;<\/code><\/pre>\n<p>Expandindo os recursos, outra rota \u00e9 adicionada ao mesmo arquivo, introduzindo um novo endpoint que aceita um par\u00e2metro. Esse trecho de c\u00f3digo demonstra como seu aplicativo pode tratar o tr\u00e1fego em um endpoint diferente, extrair um par\u00e2metro e responder com seu valor em JSON:<\/p>\n<pre><code class=\"language-javascript\">\/* GET a new resource *\/\nrouter.get('\/newEndpoint', function(req, res, next) {\n  res.send({ yourParam: req.query.someParam });\n});<\/code><\/pre>\n<p>O envio de uma solicita\u00e7\u00e3o <code>GET<\/code> para <code>localhost:3000\/newEndpoint?someParam=whatever<\/code> produzir\u00e1 uma sa\u00edda JSON contendo a string &#8220;whatever&#8221;.<\/p>\n<figure id=\"attachment_105526\" aria-describedby=\"caption-attachment-105526\" style=\"width: 1001px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-105526 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/12\/sending-get-request-postman.png\" alt=\"A GET request is made to the locally running application in Postman\" width=\"1001\" height=\"471\"><figcaption id=\"caption-attachment-105526\" class=\"wp-caption-text\">Uma solicita\u00e7\u00e3o GET \u00e9 feita para o aplicativo em execu\u00e7\u00e3o local no Postman.<\/figcaption><\/figure>\n<aside role=\"note\" class=\"wp-block-kinsta-notice is-style-info\">\n            <h3>Info<\/h3>\n        <p>\u00c9 essencial reiniciar o servidor web para que voc\u00ea possa implementar novas altera\u00e7\u00f5es de forma eficaz.<\/p>\n<\/aside>\n\n<h2>Hospedagem de aplicativos Express e Kinsta<\/h2>\n<p>Fazer solicita\u00e7\u00f5es da web do seu computador para o seu computador \u00e9 legal, mas o desenvolvimento web n\u00e3o estar\u00e1 completo at\u00e9 que voc\u00ea saia do localhost. Felizmente, a Kinsta facilita a implanta\u00e7\u00e3o de aplicativos na web, mesmo que voc\u00ea precise de um banco de dados.<\/p>\n<p>Agora, vamos nos aprofundar na expans\u00e3o dos recursos do seu aplicativo, integrando a funcionalidade do banco de dados e implantando o aplicativo e o banco de dados na web, permitindo o acesso de qualquer computador.<\/p>\n<p>Antes de implantar o aplicativo Express na <a href=\"https:\/\/sevalla.com\/application-hosting\/\">hospedagem de aplicativos da Kinsta<\/a>, \u00e9 fundamental que voc\u00ea <a href=\"https:\/\/kinsta.com\/pt\/blog\/push-codigo-github\/\">envie o c\u00f3digo e os arquivos do aplicativo<\/a> para o provedor Git escolhido <a href=\"https:\/\/docs.sevalla.com\/applications\/git\/bitbucket#grant-access-to-the-kinsta-bitbucket-application\">(Bitbucket<\/a>, <a href=\"https:\/\/docs.sevalla.com\/applications\/git\/github#authenticate-and-authorize\">GitHub<\/a> ou <a href=\"https:\/\/docs.sevalla.com\/applications\/git\/gitlab#authorize-the-kinsta-gitlab-application\">GitLab<\/a>). Certifique-se de que voc\u00ea crie um arquivo <strong>.gitignore<\/strong> no diret\u00f3rio raiz do seu aplicativo e inclua <code>node_modules<\/code> para evitar o envio desses arquivos para o seu provedor Git.<\/p>\n<p>Quando o reposit\u00f3rio estiver definido, siga estas etapas para implantar o aplicativo Express na Kinsta:<\/p>\n<ol start=\"1\">\n<li>Fa\u00e7a login ou crie uma conta para visualizar o painel <a href=\"https:\/\/my.kinsta.com\/?lang=pt\" target=\"_blank\" rel=\"noopener noreferrer\">MyKinsta<\/a>.<\/li>\n<li>Autorize a Kinsta com seu provedor Git.<\/li>\n<li>Clique em <strong>Aplicativos<\/strong> na barra lateral esquerda e, em seguida, clique em <strong>Adicionar aplicativo<\/strong>.<\/li>\n<li>Selecione o reposit\u00f3rio e a branch a partir da qual voc\u00ea deseja implantar.<\/li>\n<li>Atribua um nome exclusivo ao seu aplicativo e escolha um <strong>local de centro de dados<\/strong>.<\/li>\n<li>Em seguida, configure seu ambiente de build. Selecione a configura\u00e7\u00e3o de <strong>m\u00e1quina de build padr\u00e3o<\/strong> com a op\u00e7\u00e3o <a href=\"https:\/\/docs.sevalla.com\/applications\/build-options\/nixpacks\">Nixpacks<\/a> recomendada para esta demonstra\u00e7\u00e3o.<\/li>\n<li>Use todas as configura\u00e7\u00f5es padr\u00e3o e, em seguida, clique em <strong>Criar aplicativo<\/strong>.<\/li>\n<\/ol>\n<p>A Kinsta funciona com o gerador de aplicativos Express assim que voc\u00ea sai da caixa! Quando voc\u00ea concluir essas etapas, seu aplicativo iniciar\u00e1 automaticamente o processo de build e implanta\u00e7\u00e3o.<\/p>\n<p>A tela de implanta\u00e7\u00e3o fornecer\u00e1 uma URL onde a Kinsta implementar\u00e1 seu aplicativo. Voc\u00ea pode anexar <code>\/newEndpoint?someParam=whatever<\/code> para testar o endpoint criado na se\u00e7\u00e3o anterior deste artigo.<\/p>\n<h2>Como adicionar um banco de dados ao aplicativo Express<\/h2>\n<p>Para a maioria dos aplicativos de n\u00edvel de produ\u00e7\u00e3o, ter um banco de dados \u00e9 essencial. Felizmente, a Kinsta simplifica esse processo, fornecendo <a href=\"https:\/\/sevalla.com\/database-hosting\/\">servi\u00e7os de banco de dados totalmente gerenciados<\/a> que s\u00e3o incrivelmente f\u00e1ceis de configurar.<\/p>\n<p>Veja como voc\u00ea pode criar um banco de dados na Kinsta:<\/p>\n<ol start=\"1\">\n<li>Navegue at\u00e9 a se\u00e7\u00e3o <strong>Bancos de dados<\/strong> na barra lateral do painel MyKinsta.<\/li>\n<li>Clique em <strong>Criar um banco de dados<\/strong>. Configure os detalhes do banco de dados inserindo um nome e selecionando o tipo de banco de dados.<\/li>\n<li>Selecione a op\u00e7\u00e3o <strong>PostgreSQL<\/strong>. Um <strong>nome de usu\u00e1rio<\/strong> e uma <strong>senha<\/strong> <strong>do banco de dados<\/strong> s\u00e3o gerados automaticamente:\n<p><figure id=\"attachment_105526\" aria-describedby=\"caption-attachment-105526\" style=\"width: 1001px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-105526 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/12\/creating-db-mykinsta.png\" alt=\"The MyKinsta database configuration step of adding a new database\" width=\"1001\" height=\"471\"><figcaption id=\"caption-attachment-105526\" class=\"wp-caption-text\">A etapa de configura\u00e7\u00e3o do banco de dados MyKinsta para adicionar um novo banco de dados.<\/figcaption><\/figure><\/li>\n<li>Selecione o mesmo <strong>local do centro de dados<\/strong> em que voc\u00ea hospedou seu aplicativo Express e configure o tamanho desejado.<\/li>\n<li>Confirme as informa\u00e7\u00f5es de pagamento e clique em <strong>Criar banco de dados<\/strong>.<\/li>\n<\/ol>\n<p>Depois que o banco de dados for criado com sucesso, voc\u00ea poder\u00e1 criar um novo banco de dados:<\/p>\n<ol start=\"1\">\n<li>Acesse os detalhes do banco de dados clicando nele. Na p\u00e1gina <strong>Vis\u00e3o geral<\/strong>, navegue at\u00e9 a se\u00e7\u00e3o <strong>Conex\u00f5es internas<\/strong>.<\/li>\n<li>Selecione o aplicativo apropriado.<\/li>\n<li>Marque a op\u00e7\u00e3o <strong>Adicionar vari\u00e1veis de ambiente ao aplicativo<\/strong>.<\/li>\n<li>Clique em <strong>Adicionar conex\u00e3o<\/strong> para conectar o banco de dados rec\u00e9m-criado ao seu aplicativo.<\/li>\n<\/ol>\n<p>Em seguida, copie a string de conex\u00e3o do banco de dados rec\u00e9m-criado para se conectar a ele com uma ferramenta de banco de dados. Qualquer ferramenta de conex\u00e3o SQL ser\u00e1 suficiente, mas nesta demonstra\u00e7\u00e3o voc\u00ea usar\u00e1 o <a href=\"https:\/\/www.beekeeperstudio.io\/\" target=\"_blank\" rel=\"noopener noreferrer\">Beekeeper<\/a>. Abra o aplicativo e clique em Importar da URL, cole a string de conex\u00e3o e clique em Importar. Isso permitir\u00e1 que voc\u00ea execute o SQL no banco de dados hospedado na Kinsta que voc\u00ea acabou de criar.<\/p>\n<p>Em seguida, crie uma tabela elementar com uma \u00fanica entrada executando algumas instru\u00e7\u00f5es SQL no banco de dados hospedado com sua ferramenta de banco de dados:<\/p>\n<pre><code class=\"language-sql\">CREATE TABLE \"States\"\n( id integer CONSTRAINT states_pk PRIMARY KEY,\n  state_name varchar(100),\n  capital varchar(100),\n  state_bird varchar(100),\n  \"createdAt\" TIMESTAMPTZ NOT NULL DEFAULT NOW(),\n  \"updatedAt\" TIMESTAMPTZ NOT NULL DEFAULT NOW()\n);\n\nINSERT INTO \"States\"\nVALUES(1, 'ohio', 'columbus', 'cardinal');<\/code><\/pre>\n<p>Adicione os seguintes pacotes de banco de dados ao seu projeto:<\/p>\n<pre><code class=\"language-bash\">npm install sequelize pg<\/code><\/pre>\n<p>A depend\u00eancia <code><a href=\"https:\/\/www.npmjs.com\/package\/sequelize\" target=\"_blank\" rel=\"noopener noreferrer\">sequelize<\/a><\/code> \u00e9 um ORM para Node.js, e o <code><a href=\"https:\/\/www.npmjs.com\/package\/pg\" target=\"_blank\" rel=\"noopener noreferrer\">pg<\/a><\/code> serve como cliente PostgreSQL, permitindo a intera\u00e7\u00e3o entre aplicativos Node.js e bancos de dados PostgreSQL.<\/p>\n<p>Em seguida, escreva o c\u00f3digo do aplicativo que aceita uma solicita\u00e7\u00e3o <code>GET<\/code> com um par\u00e2metro <code>id<\/code> e retorna as informa\u00e7\u00f5es do banco de dados associadas a esse <code>id<\/code>. Para isso, altere seu arquivo <strong>index.js<\/strong> de acordo:<\/p>\n<pre><code class=\"language-javascript\">var express = require('express');\nvar router = express.Router();\nconst { Sequelize, DataTypes } = require('sequelize');\nconst sequelize = new Sequelize(process.env.CONNECTION_URI, {\n  dialect: 'postgres',\n  protocol: 'postgres',\n});\n\nconst State = sequelize.define('State', {\n  \/\/ Model attributes are defined here\n  state_name: {\n  type: DataTypes.STRING,\n  allowNull: true,\n  unique: false\n  },\n  capital: {\n  type: DataTypes.STRING,\n  allowNull: true,\n  unique: false\n  },\n  state_bird: {\n  type: DataTypes.STRING,\n  allowNull: true,\n  unique: false\n  },\n}, {\n  \/\/ Other model options go here\n});\n\nasync function connectToDB() {\n  try {\n  sequelize.authenticate().then(async () =&gt; {\n  \/\/ await State.sync({ alter: true });\n  })\n  console.log('Connection has been established successfully.');\n  } catch (error) {\n  console.error('Unable to connect to the database:', error);\n  }\n}\nconnectToDB();\n\n\/* GET a new resource *\/\nrouter.get('\/state', async function(req, res, next) {\n  const state = await State.findByPk(req.query.id);\n  if (state) {\n   res.send(state)\n  } else {\n   res.status(404).send(\"state not found\");\n  }\n});\n\n\n\/* GET home page. *\/\nrouter.get('\/', function(req, res, next) {\n  res.render('index', { title: 'Express' });\n});\n\n\/* GET a new resource *\/\nrouter.get('\/newEndpoint', function(req, res, next) {\n  res.send({ yourParam: req.query.someParam });\n});\n\nmodule.exports = router;<\/code><\/pre>\n<p>Confirme as mudan\u00e7as feitas no c\u00f3digo e envie-as para o seu reposit\u00f3rio Git. Depois, prossiga com a reimplanta\u00e7\u00e3o manual na Kinsta ou aguarde a implanta\u00e7\u00e3o autom\u00e1tica.<\/p>\n<p>Agora, quando voc\u00ea consultar o endpoint <code>\/states<\/code> com <code>id=1<\/code>, receber\u00e1 um estado do banco de dados.<\/p>\n<figure id=\"attachment_105526\" aria-describedby=\"caption-attachment-105526\" style=\"width: 1001px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-105526 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/12\/testing-complete-app.png\" alt=\"A GET request to the fully functioning application hosted in MyKinsta\" width=\"1001\" height=\"471\"><figcaption id=\"caption-attachment-105526\" class=\"wp-caption-text\">Uma solicita\u00e7\u00e3o GET para o aplicativo totalmente funcional hospedado no MyKinsta.<\/figcaption><\/figure>\n<p>Isso \u00e9 tudo o que voc\u00ea precisa fazer! Voc\u00ea pode conferir o <a href=\"https:\/\/github.com\/olawanlejoel\/express-skeleton-app\" target=\"_blank\" rel=\"noopener noreferrer\">c\u00f3digo completo do projeto no GitHub<\/a>.<\/p>\n<h2>Resumo<\/h2>\n<p>Este artigo demonstrou como o framework do Express torna a cria\u00e7\u00e3o e a implanta\u00e7\u00e3o de um aplicativo Node.js r\u00e1pida e f\u00e1cil. Voc\u00ea pode criar um novo aplicativo com o gerador Express em apenas algumas etapas simples. Com a <a href=\"https:\/\/sevalla.com\/application-hosting\/\">hospedagem de aplicativos Kinsta<\/a>, a implanta\u00e7\u00e3o do aplicativo \u00e9 simplificada e requer uma configura\u00e7\u00e3o m\u00ednima.<\/p>\n<p>Voc\u00ea pode usar o framework Express para o desenvolvimento de aplicativos Node.js de forma significativa. Com a Kinsta, voc\u00ea pode levar o impulso que o Express e o Node.js proporcionam para a fase de implanta\u00e7\u00e3o do seu projeto sem perder tempo com a configura\u00e7\u00e3o.<\/p>\n<p><em>O que voc\u00ea acha do gerador de aplicativos Express? Voc\u00ea j\u00e1 o utilizou para desenvolver algum aplicativo anteriormente? Fique \u00e0 vontade para compartilhar suas experi\u00eancias nos coment\u00e1rios abaixo!<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>O Express, o framework Node.js mais utilizado no mundo, permite que os desenvolvedores criem servidores web de backend com JavaScript. Este framework fornece a maior parte &#8230;<\/p>\n","protected":false},"author":199,"featured_media":66086,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[],"topic":[992,1000,978],"class_list":["post-66085","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","topic-node-js","topic-postgresql","topic-tutoriais-javascript"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v24.6 (Yoast SEO v24.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Crie e Implante um Aplicativo Node.js em 5 Minutos com Express - Kinsta\u00ae<\/title>\n<meta name=\"description\" content=\"Descubra o processo r\u00e1pido de criar e lan\u00e7ar um aplicativo Node.js usando o Express em apenas 5 minutos! Comece sua jornada no Node.js agora.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kinsta.com\/pt\/blog\/crie-aplicativo-express\/\" \/>\n<meta property=\"og:locale\" content=\"pt_PT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Crie e Implante um Aplicativo Node.js em 5 Minutos com Express\" \/>\n<meta property=\"og:description\" content=\"Descubra o processo r\u00e1pido de criar e lan\u00e7ar um aplicativo Node.js usando o Express em apenas 5 minutos! Comece sua jornada no Node.js agora.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/pt\/blog\/crie-aplicativo-express\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/kinstapt\/\" \/>\n<meta property=\"article:published_time\" content=\"2023-12-18T16:26:13+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-12-19T17:52:49+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/create-express-app.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"3042\" \/>\n\t<meta property=\"og:image:height\" content=\"1521\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Jeremy Holcombe\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:description\" content=\"Descubra o processo r\u00e1pido de criar e lan\u00e7ar um aplicativo Node.js usando o Express em apenas 5 minutos! Comece sua jornada no Node.js agora.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/create-express-app.jpg\" \/>\n<meta name=\"twitter:creator\" content=\"@kinsta_pt\" \/>\n<meta name=\"twitter:site\" content=\"@kinsta_pt\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jeremy Holcombe\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo estimado de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/crie-aplicativo-express\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/crie-aplicativo-express\/\"},\"author\":{\"name\":\"Jeremy Holcombe\",\"@id\":\"https:\/\/kinsta.com\/pt\/#\/schema\/person\/4eee42881d7b5a73ebb4f58dd5223b21\"},\"headline\":\"Crie e Implante um Aplicativo Node.js em 5 Minutos com Express\",\"datePublished\":\"2023-12-18T16:26:13+00:00\",\"dateModified\":\"2023-12-19T17:52:49+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/crie-aplicativo-express\/\"},\"wordCount\":1743,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/pt\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/crie-aplicativo-express\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/create-express-app.jpg\",\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinsta.com\/pt\/blog\/crie-aplicativo-express\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/crie-aplicativo-express\/\",\"url\":\"https:\/\/kinsta.com\/pt\/blog\/crie-aplicativo-express\/\",\"name\":\"Crie e Implante um Aplicativo Node.js em 5 Minutos com Express - Kinsta\u00ae\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/pt\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/crie-aplicativo-express\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/crie-aplicativo-express\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/create-express-app.jpg\",\"datePublished\":\"2023-12-18T16:26:13+00:00\",\"dateModified\":\"2023-12-19T17:52:49+00:00\",\"description\":\"Descubra o processo r\u00e1pido de criar e lan\u00e7ar um aplicativo Node.js usando o Express em apenas 5 minutos! Comece sua jornada no Node.js agora.\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/crie-aplicativo-express\/#breadcrumb\"},\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/pt\/blog\/crie-aplicativo-express\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/crie-aplicativo-express\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/create-express-app.jpg\",\"contentUrl\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/create-express-app.jpg\",\"width\":3042,\"height\":1521},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/crie-aplicativo-express\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/pt\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Node.js\",\"item\":\"https:\/\/kinsta.com\/pt\/topicos\/node-js\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Crie e Implante um Aplicativo Node.js em 5 Minutos com Express\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinsta.com\/pt\/#website\",\"url\":\"https:\/\/kinsta.com\/pt\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Solu\u00e7\u00f5es de hospedagem Premium, r\u00e1pida e segura\",\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/pt\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinsta.com\/pt\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-PT\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinsta.com\/pt\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/pt\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\/\/kinsta.com\/pt\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/pt\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/kinstapt\/\",\"https:\/\/x.com\/kinsta_pt\",\"https:\/\/www.instagram.com\/kinstahosting\/\",\"https:\/\/www.linkedin.com\/company\/kinsta\/\",\"https:\/\/www.pinterest.com\/kinstahosting\/\",\"https:\/\/www.youtube.com\/c\/Kinsta\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/kinsta.com\/pt\/#\/schema\/person\/4eee42881d7b5a73ebb4f58dd5223b21\",\"name\":\"Jeremy Holcombe\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\/\/kinsta.com\/pt\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/0e17001f3bb37dbbe54fceef9bb547fa?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/0e17001f3bb37dbbe54fceef9bb547fa?s=96&d=mm&r=g\",\"caption\":\"Jeremy Holcombe\"},\"description\":\"Senior Editor at Kinsta, WordPress Web Developer, and Content Writer. Outside of all things WordPress, I enjoy the beach, golf, and movies. I also have tall people problems.\",\"sameAs\":[\"https:\/\/www.linkedin.com\/in\/jeremyholcombe\/\"],\"url\":\"https:\/\/kinsta.com\/pt\/blog\/author\/jeremyholcombe\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Crie e Implante um Aplicativo Node.js em 5 Minutos com Express - Kinsta\u00ae","description":"Descubra o processo r\u00e1pido de criar e lan\u00e7ar um aplicativo Node.js usando o Express em apenas 5 minutos! Comece sua jornada no Node.js agora.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kinsta.com\/pt\/blog\/crie-aplicativo-express\/","og_locale":"pt_PT","og_type":"article","og_title":"Crie e Implante um Aplicativo Node.js em 5 Minutos com Express","og_description":"Descubra o processo r\u00e1pido de criar e lan\u00e7ar um aplicativo Node.js usando o Express em apenas 5 minutos! Comece sua jornada no Node.js agora.","og_url":"https:\/\/kinsta.com\/pt\/blog\/crie-aplicativo-express\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/kinstapt\/","article_published_time":"2023-12-18T16:26:13+00:00","article_modified_time":"2023-12-19T17:52:49+00:00","og_image":[{"width":3042,"height":1521,"url":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/create-express-app.jpg","type":"image\/jpeg"}],"author":"Jeremy Holcombe","twitter_card":"summary_large_image","twitter_description":"Descubra o processo r\u00e1pido de criar e lan\u00e7ar um aplicativo Node.js usando o Express em apenas 5 minutos! Comece sua jornada no Node.js agora.","twitter_image":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/create-express-app.jpg","twitter_creator":"@kinsta_pt","twitter_site":"@kinsta_pt","twitter_misc":{"Escrito por":"Jeremy Holcombe","Tempo estimado de leitura":"9 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/pt\/blog\/crie-aplicativo-express\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/pt\/blog\/crie-aplicativo-express\/"},"author":{"name":"Jeremy Holcombe","@id":"https:\/\/kinsta.com\/pt\/#\/schema\/person\/4eee42881d7b5a73ebb4f58dd5223b21"},"headline":"Crie e Implante um Aplicativo Node.js em 5 Minutos com Express","datePublished":"2023-12-18T16:26:13+00:00","dateModified":"2023-12-19T17:52:49+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/pt\/blog\/crie-aplicativo-express\/"},"wordCount":1743,"commentCount":0,"publisher":{"@id":"https:\/\/kinsta.com\/pt\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/pt\/blog\/crie-aplicativo-express\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/create-express-app.jpg","inLanguage":"pt-PT","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinsta.com\/pt\/blog\/crie-aplicativo-express\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/pt\/blog\/crie-aplicativo-express\/","url":"https:\/\/kinsta.com\/pt\/blog\/crie-aplicativo-express\/","name":"Crie e Implante um Aplicativo Node.js em 5 Minutos com Express - Kinsta\u00ae","isPartOf":{"@id":"https:\/\/kinsta.com\/pt\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/pt\/blog\/crie-aplicativo-express\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/pt\/blog\/crie-aplicativo-express\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/create-express-app.jpg","datePublished":"2023-12-18T16:26:13+00:00","dateModified":"2023-12-19T17:52:49+00:00","description":"Descubra o processo r\u00e1pido de criar e lan\u00e7ar um aplicativo Node.js usando o Express em apenas 5 minutos! Comece sua jornada no Node.js agora.","breadcrumb":{"@id":"https:\/\/kinsta.com\/pt\/blog\/crie-aplicativo-express\/#breadcrumb"},"inLanguage":"pt-PT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/pt\/blog\/crie-aplicativo-express\/"]}]},{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/kinsta.com\/pt\/blog\/crie-aplicativo-express\/#primaryimage","url":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/create-express-app.jpg","contentUrl":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/create-express-app.jpg","width":3042,"height":1521},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/pt\/blog\/crie-aplicativo-express\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/pt\/"},{"@type":"ListItem","position":2,"name":"Node.js","item":"https:\/\/kinsta.com\/pt\/topicos\/node-js\/"},{"@type":"ListItem","position":3,"name":"Crie e Implante um Aplicativo Node.js em 5 Minutos com Express"}]},{"@type":"WebSite","@id":"https:\/\/kinsta.com\/pt\/#website","url":"https:\/\/kinsta.com\/pt\/","name":"Kinsta\u00ae","description":"Solu\u00e7\u00f5es de hospedagem Premium, r\u00e1pida e segura","publisher":{"@id":"https:\/\/kinsta.com\/pt\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinsta.com\/pt\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-PT"},{"@type":"Organization","@id":"https:\/\/kinsta.com\/pt\/#organization","name":"Kinsta","url":"https:\/\/kinsta.com\/pt\/","logo":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/kinsta.com\/pt\/#\/schema\/logo\/image\/","url":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinsta.com\/pt\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/kinstapt\/","https:\/\/x.com\/kinsta_pt","https:\/\/www.instagram.com\/kinstahosting\/","https:\/\/www.linkedin.com\/company\/kinsta\/","https:\/\/www.pinterest.com\/kinstahosting\/","https:\/\/www.youtube.com\/c\/Kinsta"]},{"@type":"Person","@id":"https:\/\/kinsta.com\/pt\/#\/schema\/person\/4eee42881d7b5a73ebb4f58dd5223b21","name":"Jeremy Holcombe","image":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/kinsta.com\/pt\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/0e17001f3bb37dbbe54fceef9bb547fa?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0e17001f3bb37dbbe54fceef9bb547fa?s=96&d=mm&r=g","caption":"Jeremy Holcombe"},"description":"Senior Editor at Kinsta, WordPress Web Developer, and Content Writer. Outside of all things WordPress, I enjoy the beach, golf, and movies. I also have tall people problems.","sameAs":["https:\/\/www.linkedin.com\/in\/jeremyholcombe\/"],"url":"https:\/\/kinsta.com\/pt\/blog\/author\/jeremyholcombe\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/posts\/66085","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/users\/199"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/comments?post=66085"}],"version-history":[{"count":6,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/posts\/66085\/revisions"}],"predecessor-version":[{"id":66114,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/posts\/66085\/revisions\/66114"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/66085\/translations\/en"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/66085\/translations\/it"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/66085\/translations\/pt"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/66085\/translations\/de"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/66085\/translations\/jp"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/66085\/translations\/es"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/66085\/translations\/fr"},{"href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/66085\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/media\/66086"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/media?parent=66085"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/tags?post=66085"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/topic?post=66085"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}