Я создал небольшое веб-приложение на собственном сервере. Он содержит всего несколько файлов html, css и javascript. Я хочу поместить node.js с простым кодом:

var mysql = require('mysql');
var fs = require('fs');
var con = mysql.createConnection({
  host: "example",
  user: "example",
  password: "example",
  database: "example"
});
con.connect(function(err) {
  if (err) throw err;
  console.log("Connected!");
con.query("SELECT *example", function(error, data, fields) {
  if (error) throw error;
  const jsonData = JSON.parse(JSON.stringify(data));
  console.log("jsonData", jsonData);
  });
});

Вопрос в том, как выполнить node.js на сервере? Я хочу сделать это с помощью javascript, поэтому предположим, что я хочу написать выполнение между тегами <script>. Является ли это возможным?

0
macpan 28 Сен 2020 в 15:03

1 ответ

Лучший ответ

Я хочу сделать это с помощью javascript, поэтому предположим, что я хочу написать выполнение между тегами <script>. Как это сделать?

По сути, вы этого не делаете.

Помещение JS-кода в элемент сценария в HTML-документе и затем передача его браузеру для запуска - это один из способов выполнения JS.

Помещение JS в файл и запуск его с помощью Node.js - это другой способ запуска JS (и тот, который дает доступ к другому набору API-интерфейсов, поэтому JS, запущенный в Node.js, может напрямую получить доступ к базе данных, но JS в браузере не может).


Чтобы запустить выполнение JS с помощью Node.js из браузера, вы обычно:

  • Оберните JS-функцию, которую вы хотите выполнить, в Node.js в веб-сервисе (обычно с использованием модуля Express.js)
  • Используйте Node.js для запуска этого приложения веб-службы (обычно с помощью PM2 для мониторинга и перезапуска в случае падения)
  • Запустите в браузере отдельную программу JS и используйте Ajax для выполнения HTTP-запроса к этому веб-серверу.
1
Quentin 28 Сен 2020 в 22:50