NodeJS - Express
NodeJS - Express
Dentro do Express
ROTAS
www.meusite.com.br é rota \
Estrutura padrão (npm install Express pode ser usado npx expressgenerator {minhaaplicação})
C:\Estagio\Curso-NODEJS-Express
λ npx expressgenerator doar_alimentos
npm error code E404
npm error 404 Not Found - GET https://registry.npmjs.org/expressgenerator - Not found
npm error 404
npm error 404 'expressgenerator@*' is not in this registry.
npm error 404
npm error 404 Note that you can also install from a
npm error 404 tarball, folder, http url, or git url.
npm notice
npm notice New minor version of npm available! 10.8.2 -> 10.9.0
npm notice Changelog: https://github.com/npm/cli/releases/tag/v10.9.0
npm notice To update run: npm install -g [email protected]
npm notice
npm error A complete log of this run can be found in: C:\Users\msousa\AppData\Local\npm-cache\_logs\2024-10-
25T18_42_25_044Z-debug-0.log
C:\Estagio\Curso-NODEJS-Express
λ npm install -g [email protected]
C:\Estagio\Curso-NODEJS-Express
----------------------------------------------------------
INSTALAÇÃO CORRETA!!!!
λ npm init -y
Wrote to C:\Estagio\Curso-NODEJS\exp\package.json:
"name": "exp",
"version": "1.0.0",
"main": "index.js",
"scripts": {
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"express-generator": "^4.16.1"
},
"devDependencies": {},
"description": ""
npm warn deprecated [email protected]: Legacy versions of mkdirp are no longer supported. Please update to mkdirp
1.x. (Note that the API surface has changed to use Promises in 1.x.)
added 10 packages in 2s
λ express exp_doar
warning: the default view engine will not be jade in future releases
create : exp_doar\
create : exp_doar\public\
create : exp_doar\public\javascripts\
create : exp_doar\public\images\
create : exp_doar\public\stylesheets\
create : exp_doar\public\stylesheets\style.css
create : exp_doar\routes\
create : exp_doar\routes\index.js
create : exp_doar\routes\users.js
create : exp_doar\views\
create : exp_doar\views\error.jade
create : exp_doar\views\index.jade
create : exp_doar\views\layout.jade
create : exp_doar\app.js
create : exp_doar\package.json
create : exp_doar\bin\
create : exp_doar\bin\www
change directory:
> cd exp_doar
install dependencies:
npm error 404 Note that you can also install from a
create : exp_doar\
create : exp_doar\public\
create : exp_doar\public\javascripts\
create : exp_doar\public\images\
create : exp_doar\public\stylesheets\
create : exp_doar\public\stylesheets\style.css
create : exp_doar\routes\
create : exp_doar\routes\index.js
create : exp_doar\routes\users.js
create : exp_doar\views\
create : exp_doar\views\error.pug
create : exp_doar\views\index.pug
create : exp_doar\views\layout.pug
create : exp_doar\app.js
create : exp_doar\package.json
create : exp_doar\bin\
create : exp_doar\bin\www
change directory:
> cd exp_doar
install dependencies:
> npm install
λ cd exp_doar
C:\Estagio\Curso-NODEJS\exp\exp_doar (master)
λ npm install
npm warn deprecated [email protected]: core-js@<3.23.3 is no longer maintained and not recommended for usage
due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause
a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade
your dependencies to the actual version of core-js.
C:\Estagio\Curso-NODEJS\exp\exp_doar (master)
Terminal
C:\Estagio\Curso-NODEJS\exp\exp_doar (master)
λ node app.js
ROTAS
Ajuste para que o post funciona, adicionando um middleware em app.js
Ajustado
Middleware
Interfere na requisição e retorno para o usuário! Pode ser usado sempre em requisição e resposta!
Roda
Manipular error
Site: https://expressjs.com/pt-br/resources/middleware.html
Middleware de Terceiros
Aqui estão alguns módulos middleware do Express:
express-partial-response: módulo de middleware do Express para filtrar partes das respostas JSON baseado nos fields da sequência de consultas; usando a
express-slash: Módulo middleware do Express para pessoas rigorosas quanto ao uso de barras no fim.
express-stormpath: Módulo middleware do Express para armazenamento de usuário, autenticação, autorização,SSO e segurança de dados.
express-uncapitalize: módulo middleware para redirecionamento de solicitações HTTP contendo letras maiúsculas para a forma canônica minúscula.
helmet: módulo para ajudar a proteger seus aplicativos configurando vários cabeçalhos HTTP.
join-io: módulo para junção de arquivos em tempo de execução para reduzir a contagem de solicitações.
method-override: anteriormente express.methodOverride
morgan: anteriormente logger
passport: módulo middleware do Express para autenticação.
response-time: anteriormente express.responseTime
serve-favicon: anteriormente express.favicon
serve-index: anteriormente express.directory
serve-static: módulo para entregar conteúdo estático.
static-expiry: URLs identificadas ou Armazenamento em cache de Cabeçalhos para ativos estáticos incluindo suporte para um ou mais domínios externos.
vhost: anteriormente express.vhost
view-helpers: módulo middleware do Express que fornece métodos auxiliares comuns para as visualizações.
sriracha-admin: módulo middleware do Express que gera dinamicamente um site de administração para o Mongoose.
Alguns módulos de middleware anteriormente incluídos com o Connect não são mais suportados pelo time Connect/Express. Estes módulos foram substituídos por um módulo
alternativo, ou devem ser substituídos por um módulo melhor. Use uma das alternativas a seguir:
express.cookieParser
o cookies e keygrip
express.limit
o raw-body
express.multipart
o connect-busboy
o multer
o connect-multiparty
express.query
o qs
express.staticCache
o st
o connect-static
Rodando cookie-parser
Tratamento de erros!!!
Pastas estáticas
Construção de projetos usando NODEJS
C:\Estagio\Curso-NODEJS (master)
λ mkdir upload-express
C:\Estagio\Curso-NODEJS (master)
λ cd upload-express\
C:\Estagio\Curso-NODEJS\upload-express (master)
λ npm init -y
Wrote to C:\Estagio\Curso-NODEJS\upload-express\package.json:
{
"name": "upload-express",
"version": "1.0.0",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC",
"description": ""
}
found 0 vulnerabilities
Instalando bootstrap
RODOU!!!!
Subindo arquivos!
MONGODB
db.clientes.insertOne({})
{} estrutura bjson (Binary json) entre chaves e com valores separados por ,
Comando FIND()
Maior que ({gt: ????}) e menor que ({lt: ????})
Usando OR $or
And
Este outro AND não mostrou entender por que em outro momento
Apagou tudo
Outra forma
RestAPI (Acesso a servidores de banco de dados), luva pra auxilio a consumo de dados!
Get – consulta
Post – cadastro
{
"name": "restapi-node",
"version": "1.0.0",
"main": "server.js",
"scripts": {
"IniciaServRestapi": "nodemon server.js"
},
"keywords": [],
"author": "",
"license": "MIT",
"description": "",
"devDependencies": {
"dotenv": "^16.4.5",
"express": "^4.21.1",
"mongoose": "^8.7.3",
"nodemon": "^3.1.7"
}
}
Método POST
Foi criado uma tabela chamada “mongonodemodelos”, refazer o código e testar para clientes/produtos
Acessando pelo ID
Rever essas rotas, vídeo aula diferente da versão atual!!!