Ответы пользователя по тегу Node.js
  • Для чего нужен nodejs?

    @Alex_At_Net
    Обращайтесь, помогу - https://t.me/codecraft_phd
    самое простое объяснение: node.js - это exe-файл `node.exe`, который выполняет инструкции из .js файла. Запускать из коммандной строки:

    node.exe server.js

    Инструкцией в JS файле может быть: создать web-server, который на запрос /users возвращает HTML строку со списком пользователей.

    server.js файл может быть таким:

    require('http').createServer((req, res) => {
        res.writeHead(200, {'Content-Type': 'text/plain'});
        res.end('Привет!');
    }).listen(3000, () => { });


    express - это набор функций (в примере выше require, createServer - вызовы функций), которые упрощают написание правил "запрос -> генерация ответа". Посмотрите на примеры: https://expressjs.com/en/starter/hello-world.html

    хост-провайдер, в данном случае, предоставляет машину, с windows или linux, на которой можно запустить node.exe с приведенным server.js. Хост провайдер, в отельной системе, настраивает так, что запросы www.mysite.com направляются на эту машину, на её 3000 порт.

    php - это, в большинстве случаев, модуль Web-server-а. В терминах этого примера, php - это функция, которой передается php файл, а на выходе - строка результата. Например:

    require('http').createServer((req, res) => {
        res.writeHead(200, {'Content-Type': 'text/plain'});
        res.end(php('c:\\projects\\app\\main.php')); // вызов PHP
    }).listen(3000, () => { });
    Ответ написан
    7 комментариев
  • Как отослать несколько запросов к БД MySql в одном get-запросе?

    @Alex_At_Net
    Обращайтесь, помогу - https://t.me/codecraft_phd
    Вы можете сделать следующий запрос из результата предыдущего:

    app.get('/', function(req,res) {
        connection.query('SELECT ...', function (err, rows1) {
            if (err) throw err;
            connection.query('SELECT ...', function (err, rows2) {
               if (err) throw err;
               res.render('index', {menu: rows1, articles: rows2});
           });
        });
    });


    Есть и другие механизмы: promises, async/await, async.js.

    База и запрос, как на мой взгляд, норм.
    Ответ написан
    Комментировать
  • Как вернуть значение из модуля?

    @Alex_At_Net
    Обращайтесь, помогу - https://t.me/codecraft_phd
    Надо использовать такой-же паттерн, который реализован в функции MongoClient.connect(...):

    function insertChat(url, callback){
      MongoClient.connect(url,options, function(err, client){
        ...
        collection.findOne(function(err, result){
          ...
          callback(res);
        });
      });
    }
    
    database = require('./dbtest.js');
    var urlDb = 'mongodb://localhost:27017/chat';
    insertChat(urlDb, result => console.log(result));
    Ответ написан