Выражает проблему TypeError: не удается прочитать свойство «метод» неопределенного

#javascript #node.js #express

#javascript #node.js #выразить

Вопрос:

Я запускаю проект в узле, и он переходит ко мне, это проблема, я не могу найти ошибку

:UsersRTECHDesktopworkaumentedrealitymodelViewerwithExpressnode_modulesexpresslibrouterindex. j debug(‘отправка %s %s’, req.method, req.url); Ошибка типа: не удается прочитать свойство ‘метод’ неопределенного

src/index.js:

 const express = require("express");
const app = express();
const path = require("path");

//settings
app.set("port", 4000); 
app.set("views", path.join(__dirname , "views")); 
app.set("view engine", "ejs");

//routes
app.use(require("./routes/")); 
//routes

//static file
app.use(express.static(path.join(__dirname , "public")));
//static file

//port
app.listen(
  app.get("port", () => {
    console.log("server run on port: ", app.get("port"));
  })
);
//port

 

/routes/index.js

 const express = require("express");
const router = express.Router();

//creamos routes

router.get("/", (req , res) => {
  
  res.render("index", { title: "realidad aumentada prueba" });
});


module.exports = router;
 

Комментарии:

1. src/route/index.js или route/index.js ? Возможно, вы импортировали неправильный путь?

Ответ №1:

Я бы попытался импортировать ваши маршруты вверху, как обычно, а затем использовать его в вашем промежуточном программном обеспечении.

 const routes = require("./routes/");

app.use(routes);
 

Также в настоящее время стандартом является установка порта напрямую, а не с app.set("port", 4000); помощью so, поэтому я бы удалил эту строку и изменил app.listen ее, чтобы установить ее таким образом:

 app.listen(4000, () => {
  console.log('Listening on port 4000');
});
 

Все остальное, на мой взгляд, выглядит хорошо.

Ответ №2:

Ответ Джоан Альберт решил мою проблему, я оставляю окончательный файл. Спасибо

 const express = require("express");
const app = express();
const path = require("path");
const routes = require("./routes/");


//settings
app.set("views", path.join(__dirname, "views")); //url de entrada de la vista
app.set("view engine", "ejs"); //le decimos el motor de plantilla que usamos
//settings

//routes
app.use(routes); //Le decimos de donde lee las rutas
//routes

//static file
app.use(express.static(path.join(__dirname, "public")));
//static file

//port
app.listen(4000, () => {
  console.log("Listening on port 4000");
});
//port

  //static file
   app.use(express.static(path.join(__dirname, "public")));
  //static file

  //port
   app.listen(4000, () => {
    console.log("Listening on port 4000");
   });
  //port