【问题标题】:Why I ' cannot GET ' page in express app?为什么我在快递应用程序中“无法获取”页面?
【发布时间】:2020-05-05 03:38:46
【问题描述】:

我是构建网络应用程序的新手,并且一直在自学 Node Express。我已经能够让简单的快速应用程序在 Cloud9 环境中工作,但由于某种原因,我无法让它们与 VS Code 一起工作。服务器运行,但页面没有在适当的路径上呈现。这是我的基本设置:

var express = require("express"),
  app = express(),
  bodyParser = require("body-parser"),
  mongoose = require("mongoose");

// APP CONFIG
mongoose.connect("mongodb://localhost:27017/blog_app", {
  useUnifiedTopology: true,
  useNewUrlParser: true
});
mongoose.set("useFindAndModify", false);
app.use(bodyParser.urlencoded({ extended: true }));
app.set("view engine", "ejs");
app.use(express.static("public"));

app.get("/blogs", function(req, res) {
  res.render("index");
});

// use port 3000 unless there exists a preconfigured port
var port = process.env.port || 5500;

app.listen(port, function() {
  console.log("SERVER RUNNING");
});

我的文件夹结构是:

Blog App:
-node_modules
-views/index.ejs
app.js (where this code is taken from)
package.json

服务器运行,但是当我转到 http://127.0.0.1:5500/blogs 时,我得到:“Cannot GET /blogs”

谢谢。

【问题讨论】:

  • 除了“无法获取 /blogs”之外,您是否收到任何其他错误?在开发选项卡中进行挖掘。
  • 如果是这样的话,它会以 404 状态返回。
  • 可以分享node js 日志吗?
  • “服务器正在运行”是否被打印?如果是,请检查服务器是否监听 5500 端口。 app.listen(port, () => console.log(Example app listening on port ${port}!))。
  • 是的,SERVER RUNNING 会打印出来。运行您建议的代码时,我得到:代码:'EADDRINUSE',errno:'EADDRINUSE',系统调用:'listen',地址:'::',端口:5500

标签: javascript node.js rest express


【解决方案1】:

你可以安装ejs

全球安装: npm install -g ejs

或者您可以为您的项目安装npm install ejs

在那之后,我希望它的工作。我试过了,效果很好。

【讨论】:

  • 我已经安装了 EJS。它显示在节点模块和 package.json 中:S
  • 我不知道为什么你的不起作用,但我试过你的代码并且它工作正常。你可以在这里看到它:codesandbox.io/s/loving-torvalds-5jnuw。也许您应该重新启动服务器或尝试创建另一个服务器。
  • 它似乎没有呈现页面:S
  • 什么页面不显示?你是说这个吗:codesandbox.io/s/loving-torvalds-5jnuw
  • 它似乎没有呈现 ejs 文件索引,因为我看不到呈现的“Hello”html。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多