[英]NodeJs + Express - Cannot GET /
我在 repl.it 中运行它并收到错误无法获取 /
有时它可以工作,有时它在 45799 的特定端口上不起作用,但现在它不再工作了。
这是代码:
app.set('view engine', 'ejs');
app.use('/public', express.static('public'));
app.use(bodyParser.json());
app.get('/', (req, res) => {
app.render('index', {
bot: bot
}, (err, html) => {
res.send(html)
if (err) console.log(err)
})
});
app.get('/commands', (req, res) => {
app.render('commands', {
bot: bot
}, (err, html) => {
res.send(html)
if (err) console.log(err)
})
});
app.get('/premium', (req, res) => {
app.render('premium', {
bot: bot
}, (err, html) => {
res.send(html)
if (err) console.log(err)
})
});
app.get('/staff', (req, res) => {
app.render('staff', {
bot: bot
}, (err, html) => {
res.send(html)
if (err) console.log(err)
})
})
let listener = app.listen(45799, (err) => {
console.log('Your app is currently listening on port: ' + listener.address().port);
if (err) console.log(err)
});```
你渲染的方式不对。 你必须使用res
对象而不是app
const express = require('express');
const bodyParser = require('body-parser')
const app = express();
app.set('view engine', 'ejs');
app.use('/public', express.static('public'));
app.use(bodyParser.json());
const bot = { "data": "1" }
app.get('/', (req, res) => {
res.render('index', { bot: bot });
});
app.listen(3000, () => {
console.log('server started');
});
Express 是一个返回 app 的函数。
而app对象有一个对应http的方法。
例如,放置、获取、发布等。
此方法将 url 作为第一个参数,将回调函数作为第二个参数。
这个回调函数有三个参数:传入请求的“req”,响应处理的“res”和传递给下一个中间件的“next”。
(“req”、“res”和“next”名称由您决定。)
如果要渲染 ejs 文件,请使用“res.render”而不是“app.render”。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.