An Interest In:
Web News this Week
- April 24, 2024
- April 23, 2024
- April 22, 2024
- April 21, 2024
- April 20, 2024
- April 19, 2024
- April 18, 2024
Dvelopper une API Rest avec NodeJS, Express et MongoDB: 1 Configuration du projet
Configuration de ma machine
Trucs installer avant de dmarrer
- Node LTS (ce qui va automatiquement nous installer
npm
) Node.js - Visual Studio Code https://code.visualstudio.com
- Postman Download Postman | Get Started for Free
- (Utilisateurs Windows)
- Gitbash Git for Windows
Vrification des installations
Jouvre mon terminal.
En tant qu'utilisateur Windows, j'ouvre GitBash. Jarrte dutiliser le Shell de windows ou loutil de commande integr et je lance.
node --version# v16.17.0npm --version# 8.15.0git --version# git version 2.32.1 ou 3
Initialisation de mon projet
Mon dossier de travail
- Jouvre mon terminal (GitBash si je suis sur Windows. Terminal, iTerm2 si je suis sur Macetc)
- Je cre un nouveau dossier, il faut que je sache facilement le retrouver
mkdir blitz-nodecd blitz-node
Jinitialise mon projet code
# 1. Je m'assure que je suis dans le bon dossierpwd# /Users/sidali/Development/clones/blitz-express# 2. J'initialise un projet Nodenpm init -y
Je peux ouvrir mon Visual Studio Code
Je fais attention bien ouvrir mon dossier dont le nom est blitz-node
, pas le dossier le contenant, ni celui davant, mais le dossier exact: blitz-node
Si jai fait les choses correctement, je devrait voir un fichier package.json
.
Rappel: Je nhsite pas interrompre le professeur dire quand quelque chose ne fonctionne pas comme prvu. Il se fera plaisir de maider
Jinstalle ce dont jai besoin
npm i express mongoose nodemon dotenv
Explications
express
Framework de dveloppement Node, permet de faire facilement les chose que fait Node aussi mais en moins compliqu.
mongoose
Nous permet de me connecter et dinteragir avec une base de donne MongoDB
nodemon
Simplifie le dveloppement en rechargeant mon serveur automatiquement lors de changement niveau code.
a va plus vite que quand jteint et rallume le serveur manuellement chaque fois que je fais un changement.
dotenv
Me permets dajouter des variables denvironnement, mon code ne doit pas faire les memes chose en dveloppement vs en prod.
Par exemple, je me connecte au serveur de Spotify de test pour rcuprer des musiques.
Mais en production je me connecte leur serveur de prod, plus rapide et plus scuris.
.gitignore
Afin dviter que je pollue mon repo Git, je cre un fichier la racine du projet: .gitignore
et je copie le code suivant:
# Logslogs*.lognpm-debug.log*yarn-debug.log*yarn-error.log*lerna-debug.log*.pnpm-debug.log*# Diagnostic reports (https://nodejs.org/api/report.html)report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json# Runtime datapids*.pid*.seed*.pid.lock# Directory for instrumented libs generated by jscoverage/JSCoverlib-cov# Coverage directory used by tools like istanbulcoverage*.lcov# nyc test coverage.nyc_output# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files).grunt# Bower dependency directory (https://bower.io/)bower_components# node-waf configuration.lock-wscript# Compiled binary addons (https://nodejs.org/api/addons.html)build/Release# Dependency directoriesnode_modules/jspm_packages/# Snowpack dependency directory (https://snowpack.dev/)web_modules/# TypeScript cache*.tsbuildinfo# Optional npm cache directory.npm# Optional eslint cache.eslintcache# Optional stylelint cache.stylelintcache# Microbundle cache.rpt2_cache/.rts2_cache_cjs/.rts2_cache_es/.rts2_cache_umd/# Optional REPL history.node_repl_history# Output of 'npm pack'*.tgz# Yarn Integrity file.yarn-integrity# dotenv environment variable files.env.env.development.local.env.test.local.env.production.local.env.local# parcel-bundler cache (https://parceljs.org/).cache.parcel-cache# Next.js build output.nextout# Nuxt.js build / generate output.nuxtdist# Gatsby files.cache/# Comment in the public line in if your project uses Gatsby and not Next.js# https://nextjs.org/blog/next-9-1#public-directory-support# public# vuepress build output.vuepress/dist# vuepress v2.x temp and cache directory.temp.cache# Docusaurus cache and generated files.docusaurus# Serverless directories.serverless/# FuseBox cache.fusebox/# DynamoDB Local files.dynamodb/# TernJS port file.tern-port# Stores VSCode versions used for testing VSCode extensions.vscode-test# yarn v2.yarn/cache.yarn/unplugged.yarn/build-state.yml.yarn/install-state.gz.pnp.*
Ce fichier permettra Git dignorer ce que je spcifie dedans. Dont le dossier node_modules qui va contenir tous les modules installs localement.
Il ne faut pas les partager mais seulement partager le fichier package.json
et package-lock.json
car ce sont eux qui permettront mes collgues de pouvoir faire un simple:
npm install
Et rcuprer toutes les dpendances qui permettront de lancer le projet
Original Link: https://dev.to/sidali/developper-une-api-rest-avec-nodejs-express-et-mongodb-1-configuration-du-projet-421k
Dev To
An online community for sharing and discovering great ideas, having debates, and making friendsMore About this Source Visit Dev To