После выполнения команды 'npm rebuild' все запросы страниц запускаются дважды - PullRequest
0 голосов
/ 14 июля 2020

Через пару месяцев go я работал над побочным проектом, используя Node и Express. Мне пришлось запустить npm rebuild, потому что версия узла моей системы не синхронизировалась c с версией моего приложения. Но теперь каждый раз, когда я go перехожу на страницу, он дважды загружает все функции (я думаю, при нажатии и при загрузке). Вот копия всех функций, связанных с моей целевой страницей.

index. js:

app.get("/", userCheckup, guessLoad);

userCheckup:

exports.userCheckup = (req, res, next) => {
 var user = auth.currentUser;
 var authenticated;
 if(user) {
   authenticated = true;
   res.locals.authenticated = authenticated;
   res.locals.uid = user.uid;
   res.locals.email = user.email;
   next();
 } else {
   authenticated = false;
   res.locals.authenticated = authenticated;
   next();
 }
}

guessLoad:

exports.guessLoad = async(req, res) => {
  const user = res.locals.uid;
  console.log("aagaaaint");

  var randNr, randId;

  var getCount = await db.collection("recipeCount").doc("count").get();
  randNr = Math.floor(Math.random() * getCount.data().count);

  var getIds = await db.collection("recipeCount").doc("ids").get();
  if(getIds.data().idList != null) {
    randId = getIds.data().idList[randNr];

    var getRecipe = await db.collection("recipes").doc(randId).get();
    if(getRecipe.exists != true) {
      res.render('noRecipeFound', {uid : res.locals.uid})
    }
    var randomRecipe = new Object();
    randomRecipe.id = randId;
    randomRecipe.country = getRecipe.data().country.toLowerCase();
    randomRecipe.saves = getRecipe.data().saves;
    randomRecipe.cookingTime = getRecipe.data().cookingTime;
    randomRecipe.servings = getRecipe.data().servings;
    randomRecipe.dish = getRecipe.data().dish;
    randomRecipe.image = getRecipe.data().image;
    randomRecipe.description = getRecipe.data().description;
    randomRecipe.user = getRecipe.data().user;

    var ingredients = getRecipe.data().ingredients;
    var ingredientsPreview = []
    for (var i = 0; i < ingredients.length && i < 3; i++) {
      ingredientsPreview.push(" " + ingredients[i].ingredient);
    }
    randomRecipe.ingredients = ingredientsPreview;

    var alreadySaved = false;
    if(typeof user !== "undefined") {
      const getUser = await db.collection('users').doc(user).get();
      const userSaves = getUser.data().saved;
      for(id of userSaves) {
        if(id == randomRecipe.id) {
          alreadySaved = true;
        }
      }
    }

    // save cookie
    var cookies = cookie.parse(req.headers.cookie || '');
    res.cookie('previous', randId)    
    var last = false;
    if(Object.keys(cookies).length === 0 && cookies.constructor === Object) {
      var last = true;
    }
    console.log(cookies);
    console.log("request arrived for URL", req.url);

    res.render("landing", {uid : res.locals.uid, randomRecipe : randomRecipe, alreadySaved : alreadySaved})
  }
}

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