Как запустить простой сервер Node.js Express.js? - PullRequest
0 голосов
/ 01 февраля 2019

У меня проблемы с запуском простого сервера Node.js Express.js на локальном хосте.

Я пытался с

узлом Express.js

безрезультатно.

Я получил эту ошибку

$ 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)

Мой код

    // 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}!`);
});

Что не так с моим кодом?Любые предложения будут оценены.Я ожидаю, что это будет доступно в https://localhost:8080

Ответы [ 3 ]

0 голосов
/ 01 февраля 2019

Здесь не нужно указывать имя хоста, попробуйте следующий код:

app.listen(port, () => {
    console.log(`Connection running at https://${hostname}:${port}!`);
});
0 голосов
/ 01 февраля 2019

Попробуйте, сначала имя порта, затем имя хоста

app.listen(port, hostname, () => {
    console.log(`Connection running at https://${hostname}:${port}!`);
});
0 голосов
/ 01 февраля 2019

Возможно, у вас есть проблема с созданием сервера на вашем локальном компьютере.

const http = require('http');

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

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

Вы можете попробовать это?Если у вас есть какие-либо ошибки, пожалуйста, прокомментируйте их.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...