[英]Issue with rendering view page in node express.js application
I am trying to render a static HTML page located in the views
directory but when I try to visit that route, the Node.js console firing an error.我正在尝试呈现位于views
目录中的 static HTML 页面,但是当我尝试访问该路由时,Node.js 控制台触发错误。
Error message错误信息
TypeError: path must be absolute or specify root to res.sendFile
at ServerResponse.sendFile (C:\Users\Administrator\Desktop\node-mvc-setup\node_modules\express\lib\response.js:425:11)
at C:\Users\Administrator\Desktop\node-mvc-setup\app.js:21:7
at Layer.handle [as handle_request] (C:\Users\Administrator\Desktop\node-mvc-setup\node_modules\express\lib\router\layer.js:95:5)
at next (C:\Users\Administrator\Desktop\node-mvc-setup\node_modules\express\lib\router\route.js:137:13)
at Route.dispatch (C:\Users\Administrator\Desktop\node-mvc-setup\node_modules\express\lib\router\route.js:112:3)
at Layer.handle [as handle_request] (C:\Users\Administrator\Desktop\node-mvc-setup\node_modules\express\lib\router\layer.js:95:5)
at C:\Users\Administrator\Desktop\node-mvc-setup\node_modules\express\lib\router\index.js:281:22
at Function.process_params (C:\Users\Administrator\Desktop\node-mvc-setup\node_modules\express\lib\router\index.js:335:12)
at next (C:\Users\Administrator\Desktop\node-mvc-setup\node_modules\express\lib\router\index.js:275:10)
at urlencodedParser (C:\Users\Administrator\Desktop\node-mvc-setup\node_modules\body-parser\lib\types\urlencoded.js:91:7)
Index.html Index.html
<,DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width. initial-scale=1.0"> <title>Test Node MVC Front Page</title> </head> <body> <h1>Great index font page</h1> </body> </html>
Index route索引路线
const express = require("express");
//require the express router
const router = express.Router();
router.get("/", function(req, res, next) {
res.sendFile("/views/index.html");
});
module.exports = router;
Can you require path
module in your code and try doing this instead:您能否在代码中要求path
模块并尝试这样做:
router.get("/", function(req, res, next) {
res.sendFile(path.join(__dirname, '../views', 'index.html'));
});
//require path
const path = require('path'); const path = require('路径');
//require express const express = require("express"); //需要快递 const express = require("express");
//require express router //需要快速路由器
const router = express.Router(); const router = express.Router();
router.get("/", function(req, res, next) { router.get("/", function(req, res, next) {
res.sendFile(path.join(__dirname, '../', 'views', 'index.html'));
}); });
module.exports = router module.exports = 路由器
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.