NodeJS错误:无法在web浏览器上运行url



这种类型的问题在Stackoverflow中被问过几次,但都没有解决我的问题。

这就是我在这里提出问题的原因。跑步时http://localhost:3000/messages在浏览器上,我得到一个错误

无法获取/消息

。任何帮助都是非常好的!!

Server.js

var express = require('express')
var app = express()
app.use(express.static(__dirname))
app.get("/messages", (req, res) => {
res.render("Hello");
});
var server = app.listen(3000, () =>{
console.log('server is listening on port', server.address().port)
})

尝试res.json而不是render。

app.get("/messages", (req, res) => {
res.json({msg: 'messages view'});
});
app.get("/", (req, res) => {
res.json({msg: 'Welcome home'});
});

Package.json文件应该是

{
"name": "sample project",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo "Error: no test specified" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"express": "^4.17.1"
}
}

因为您没有使用任何视图引擎,所以它不进行渲染。

将代码修改为这样:

app.get('/messages', (req, res) => { res.json({msg: 'messages view'}); }); app.get("/", (req, res) => { res.json({message: 'Stay at home'}); });

因为前端没有使用任何引擎来渲染,比如ejspug

最新更新