Javascript React js-express:res.send Vs res.render错误
我正在构建一个非常小的示例应用程序来练习登录页面。 我的工作对象是: (一) 2) -尤其是日记账形式 (三) 成功设置所有组件后,如果在负责呈现localhost:5000窗口的Javascript React js-express:res.send Vs res.render错误,javascript,node.js,reactjs,express,Javascript,Node.js,Reactjs,Express,我正在构建一个非常小的示例应用程序来练习登录页面。 我的工作对象是: (一) 2) -尤其是日记账形式 (三) 成功设置所有组件后,如果在负责呈现localhost:5000窗口的index.js文件中应用以下更改,则会出现一个非常奇怪的错误 router.get('/',(req,res)=>res.send('welcome');res.render(“欢迎”) 查找目录中没有名为“欢迎使用”的视图 当您使用res.send('welcome')时,express将只发送welcome文本的
index.js
文件中应用以下更改,则会出现一个非常奇怪的错误
router.get('/',(req,res)=>res.send('welcome');res.render(“欢迎”) 查找目录中没有名为“欢迎使用”的视图
当您使用res.send('welcome')
时,express将只发送welcome
文本
的响应,因此它不会查找任何视图
页面
但另一方面,当您使用res.render
时,它将搜索名为welcome.ejs
的模板
视图
res.render用于加载ejs视图文件
使用welcome.ejs
在视图中创建一个文件,然后重试
希望这能解决问题。为什么要将express ejs布局的app.use()和app.set()的调用顺序与之相反?也就是说,错误告诉你它找不到相关的文件路径,所以:你有没有用正确的文件构建正确的目录?那是一个愚蠢的错误!非常感谢您的帮助:)
const express = require('express');
const expressLayouts = require('express-ejs-layouts');
const app = express();
app.use(expressLayouts);
app.set('view engine', 'ejs');
// Routes
app.use('/', require('./routes/index'));
app.use('/users', require('./routes/users'));
const PORT = process.env.PORT || 5000;
app.listen(PORT, console.log(`Server started on port ${PORT}`));
const express = require('express');
const router = express.Router();
router.get('/', (req, res) => res.send('welcome')); // <-- This way works
router.get('/', (req, res) => res.render('welcome')); // <-- This way throws error
module.exports = router;
const express = require('express');
const router = express.Router();
// Login Page
router.get('/login', (req, res) => res.send('Login'));
// Register Page
router.get('/register', (req, res) => res.send('Register'));
module.exports = router;
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<script src="https://kit.fontawesome.com/My_KIT.js" crossorigin="anonymous"></script>
<link rel="stylesheet" href="../components/bootstrap.min.css" />
<title>App</title>
</head>
<body>
<div class="container">
<%- body %>
</div>
<script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js" integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin="anonymous"></script>
</body>
</html>