1
votes

Comment démarrer un serveur Node.js Express.js simple?

Je rencontre des problèmes pour démarrer un simple serveur Node.js Express.js sur localhost.

J'ai essayé avec

node Express.js

en vain. p>

J'ai eu cette erreur

    // express.js

const mysql = require('mysql');
const express = require('express');
const router = express.Router();
const bodyParser = require('body-parser');

const hostname = '127.0.0.1';
const port = '8080';

const app = express();

app.set('port', process.env.PORT || 8080);

app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());

const con = mysql.createConnection({
    host: 'localhost',
    user: 'bojan',
    password: 'Hamurabi77',
    database: 'user'
});

con.connect((err) => {
    if (err) throw err;
    console.log('Connected!');
});

const createDatabase = 'CREATE DATABASE user';
con.query(createDatabase, (err, result, fields) => {
    if (err) throw err;
    console.log('Created!');
});

const createTable = 'CREATE TABLE user (id AUTO_INCREMENT PRIMARY_KEY something VARCHAR(255))';
con.query(createTable, (err, result, fields) => {
    if (err) throw err;
    console.log('Created!');
});

app.get('/users', (req, res, end) => {
    const selectUsers = `SELECT * FROM user`;
    con.query(selectUsers, (err, result, fields) => {
        if (err) throw err;
        console.log('Selected!');
    });
    res.json();
    res.send('Selected!');
    res.end();
});

app.get('/users/:id', (req, res, end) => {
    const selectUserByID = `SELECT * FROM user WHERE id=${req.id}`;
    con.query(selectUserByID, (err, result, fields) => {
        if (err) throw err;
        console.log('Selected by ID!');
    });
    res.json();
    res.send('Selected by ID!');
    res.end();
});

app.post('/user/insert', (req, res, end) => {
    const insertUser = `INSERT INTO user SET (something) VALUES (${req.something})`;
    con.query(insertUser, (err, result, fields) => {
        if (err) throw err;
        console.log('Inserted!');
    });
    res.json();
    res.send('Inserted!');
    res.end();
});

app.post('/user/update/:id', (req, res, end) => {
    const updateUserByID = `UPDATE user SET (something) VALUES (${req.something}) WHERE id=${req.id}`;
    con.query(updateUserByID, (err, result, fields) => {
        if (err) throw err;
        console.log('Updated!');
    });
    res.json();
    res.send('Updated!');
    res.end();
});

app.post('/user/delete/:id', (req, res, end) => {
    const deleteUserByID = `DELETE * FROM user WHERE id=${req.id}`;
    con.query(deleteUserByID, (err, result, fields) => {
        if (err) throw err;
        console.log('Deleted!');
    });
    res.json();
    res.send('Deleted!');
    res.end();
});

router(app);

app.listen(hostname, port, () => {
    console.log(`Connection running at https://${hostname}:${port}!`);
});

Mon code est

$ node Express.js
events.js:183
      throw er; // Unhandled 'error' event
      ^

Error: listen EACCES 127.0.0.1
    at Object._errnoException (util.js:992:11)

Quel est le problème avec mon code? Toute suggestion sera appréciée. Je m'attends à ce qu'il soit disponible sur https: // localhost: 8080


1 commentaires

Votre port 8080 est déjà utilisé


3 Réponses :


0
votes

Vous rencontrez probablement un problème lors de la création du serveur sur votre machine locale.

const http = require('http');

router(app);
const server = http.createServer(app);

server.listen(3090, () => {
    console.log('Server is on port 3090');
});

Pouvez-vous essayer? Si vous rencontrez des erreurs, veuillez les commenter.


0 commentaires

0
votes

Pas besoin de fournir le nom d'hôte ici, essayez le code ci-dessous:

app.listen(port, () => {
    console.log(`Connection running at https://${hostname}:${port}!`);
});


0 commentaires

0
votes

Essayez ceci, premier nom de port puis nom d'hôte

app.listen(port, hostname, () => {
    console.log(`Connection running at https://${hostname}:${port}!`);
});


0 commentaires