节点express.js应用程序中呈现视图页面的问题

时间:2020-10-24 01:37:53

标签: html node.js express

我正在尝试渲染位于views目录中的静态HTML页面,但是当我尝试访问该路由时,Node.js控制台会引发错误。

错误消息

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

<!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>

索引路线

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;

Image of Project structure

2 个答案:

答案 0 :(得分:0)

您是否可以在代码中使用 function processZipFile(input) { JSZip.loadAsync(input.files[0]).then(function (zip) { zipFiles = zip; numberOfFiles = 0; zip.forEach(function () { numberOfFiles = numberOfFiles + 1; } }); uploadZipFile(0); } function uploadZipFile(fileCount) { zipFiles.file(fileCount).async("blob").then(function (blob) { 'post file to server' 'on success increment file count and, if less than number of files, upload next file' 'on failure retry upload up to three times' } } 模块,然后尝试执行以下操作:

path

答案 1 :(得分:0)

//require path

const path = require('path');

//需要快递 const express = require(“ express”);

//需要快递路由器

const router = express.Router();

router.get(“ /”,function(req,res,next){

  res.sendFile(path.join(__dirname, '../', 'views', 'index.html'));

});

module.exports =路由器