Express node.js


Installation de express

Installation globale :

        npm install express-generator --global  
    

Initialisation d'un nouveau projet :

        express --view=pug nom-de-mon-app   // Avec pug
        cd nom-de-mon-app
        npm install

        express --no-view nom-de-mon-app   //installation pour les APIs
        cd nom-de-mon-app
        npm install

        express --no-view     //installation pour les APIs version courte        
        npm install
    

Serveur local :

        nodemon ./bin/www
            ou
        npm run start
        
        DEBUG=backend2:* npm start
    

POST-IT

        npm create vue@latest

        router.get('/:id', function(req, res, next) {
        const id = Number(req.params.id);
    

Axios

Installation :

        npm install axios
    

Example :

        axios.get(URL)
        .then(function (response) {
            console.log(response);
        })
        .catch(function (error) {
            console.log(error);
        })
    

Installer la librairie CORS

Command

        npm install cors
    

Dans le fichier app.js

        const cors = require('cors'); ///cette ligne

        var indexRouter = require('./routes/index');
        var usersRouter = require('./routes/users');

        var app = express();
        app.use(cors()); /// et cette ligne
    

Example database

Installation :

        npm install mysql
    

Fichier sql.js :

        const mysql = require('mysql');

        const pool = mysql.createPool({
        host: 'localhost',
        user: 'root',
        password: '',
        database: 'memolist_2.0',
        });

        function sqlQuery(query, values, callback) {
            pool.getConnection((connError, connection) => {
                if (connError) {
                console.error('Connection error:', connError);
                return callback(connError, null);
                }
                connection.query(query, values, (queryError, result) => {
                connection.release();
                if (queryError) {
                    console.error('Query error:', queryError);
                    return callback(queryError, null);
                }
                callback(null, result);
                });
            });
        }

        module.exports = sqlQuery;
    

Code du controller :

        const SQLquery = require('../sql/sql.js'); //tout en haut du fichier

        //dans le controller
        const query = "INSERT INTO `lists`(`name`, `description`) VALUES (?, ?)";

        const values = [title, description];

        SQLquery(query, values, (error, response) => {
            res.json("success");
        });
    

        var express = require('express');
var router = express.Router();
var axios = require('axios');

/* GET home page. */
router.get('/', function(req, res, next) {
  const apiKey = "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";
  const url = "https://api.openai.com/v1/chat/completions";
  

  const data = {
    model: "gpt-3.5-turbo",
    messages: [{role: "user", content: "Say this is a test!"}],
    temperature: 0.7
  };

  const config = {
    headers: {
      'Content-Type': 'application/json',
      'Authorization': `Bearer ${apiKey}`
    },
  };
  
  axios.post(url, data, config)
    .then(function (response) {
      console.log(response);
      res.json('success');
      res.render('index', { title: 'Express' });
    })
    .catch(function (error) {
      console.log(error);
      res.json(error);
    });
});

module.exports = router;