Когда я запускаю статические файлы через node.js, как мне вызвать функцию, определенную в документе node.js? - PullRequest
0 голосов
/ 12 ноября 2018

Допустим, я сохранил этот код в index.js:

const serveIndex = require('serve-index');
const express = require('express');
const app = express();

app.use('/project', express.static('public'))
app.use('/project', serveIndex('public'))


app.get('/', (req, res) =>; {
    res.send('Server Running.');
});

function createAccount() {

// Create Account
var mysql = require("mysql");
var con = mysql.createConnection({
  host: "localhost",
  user: "root",
  password: "",
  database: "database1"
});
con.connect(function(err) {
  if (err) throw err;
  console.log("Connected!");
  var sql = "INSERT INTO `users` (`username`, `password`, `email`, `confirm_code`, `confirmed`, `plugin1`, `plugin2`, `plugin3`, `plugin4`, `plugin5`, `myplugin1`, `myplugin2`, `myplugin3`, `myplugin4`, `myplugin5`) VALUES ('" + username + "', '" + password + "', '" + email + "', '" + code + "', 'no', 'none', 'none','none', 'none', 'none', 'none', 'none', 'none', 'none', 'none');";
  con.query(sql, function (err, result) {
    if (err) throw err;
    console.log("1 record inserted");
  });
});

app.listen(3000, () =>; console.log('App running on port 3000.'));

И в моем public файле у меня есть файл javascript, выполняющий это:

var username = "John Doe";
var password = "1234";
var email = "johndoe@example.com";
var code = "1234";

createAccount();

Как заставить функцию createAccount() правильно работать при запуске файла js в папке public? (Поскольку в нем создается учетная запись со всей информацией, представленной в переменных)

1 Ответ

0 голосов
/ 12 ноября 2018

Есть несколько способов сделать это. Самый простой способ - просто экспортировать эту информацию в ваш основной файл index.js и затем передать ее в вашу функцию createAccount(). Если у вас есть файл index.js, все имя пользователя, пароль и т. Д. Не определены. Поэтому вам, по крайней мере, придется импортировать их из файла public.

Тем не менее, правильный способ сделать это - создать функцию, которая отправляет запрос HTTP (S) POST туда, где расположен ваш веб-сервер, вместе с соответствующей информацией. Затем вы просто создаете функцию обратного вызова, которая будет принимать параметры параметра в запросе и передавать их в вашу функцию createAccount(), которая, в свою очередь, выполнит команду SQL, как вы уже написали ее в своем OP.

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