express Веб-сервер с маршрутами - при запуске сервер всегда выполняет все сценарии один раз - PullRequest
0 голосов
/ 12 марта 2020

У меня был небольшой node.js сервер для веб-приложения, который отправлял на сервер json для этого я сделал сервер в node.js с express и маршрутами, но всегда при запуске сервера он выполняет все сценарии, которые я не хочу. они должны запускаться только тогда, когда я выполняю их с веб-страницы.

, поэтому вот код с сервера (приложение. js):

const express = require("express");
const path = require("path");
const index = require("./config/index");
const mongoose = require("mongoose");
const cors = require("cors");
const Influx = require("influx");
const log = require("morgan");
const logger = require("./middlewares/logger");
const router = express.Router();
const app = express();
let response = {};

/* Middlewares */
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(cors());
app.use(log("dev"));
app.use(express.static(path.join(__dirname, "public")));

/* Routes */
require("./routes/indexRoutes")(app, router);

const PORT = process.env.PORT || 7000;
app.listen(PORT, () => {
  logger.info(`Connected with the port ${PORT}`);
});

в моих маршрутах. js следующий код:

const userCtrl = require("../controllers/users");
const userCtrl1 = require("../controllers/testCall");

module.exports = (app, router) => {
  router.get("/users", userCtrl.users);
  router.get("/testCall", userCtrl1.testCall);

  app.use("/api", router);
};

и в testCall. js у меня был следующий код:

// TestCall
console.log("bin im testcall");
var testData = {test: []};

for (let index = 0; index < 100; index++) {
  testData.test.push(index);  
}


console.log(testData);

//Return to Website
exports.testCall = (req, res) => {
  console.log(testData);
  res.json(testData);
};

я вызываю этот testCall с веб-сайта со следующим кодом:

function testCall() {
    var xhttp = new XMLHttpRequest();
    xhttp.open("GET", "http://localhost:7000/api/testCall", true);
    xhttp.onreadystatechange = function () {
        if (this.readyState == 4 && this.status == 200) {
            console.log(this.responseText);
            //alert(this.responseText);
        }
    };
    xhttp.send();
}

и этот тестовый код всегда выполняется при запуске сервера

я сделал ошибку? есть ли лучший способ?

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