如何从路径模块 Node Js 指向 Html 文件夹

How to point to Html folder from path module Node Js

我想使用 express 发送 html 文件作为响应,为此我需要给出 index.html 文件的位置或 path

所以这是我的文件结构 -

MyWebsite 
     Html
        index.html
     Css
        index.css
     Js
       index.js

如果你还不明白这个文件结构图的文件结构:

所以在我的JavaScript中我写了这样的东西:

import express from 'express';
import path from 'path';
import { fileURLToPath } from 'url';

const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);

const app = express();

const port = process.env.port || 8080;

app.get('/', (req, res) => {
  const htmlFile = path.join(__dirname, '/index.html');
  res.sendFile(htmlFile)
});

app.listen(port);

给出错误-

Error: ENOENT: no such file or directory, stat 'F:\Websites\MyWebsite\js\index.html'

它不工作!。我无法提供路径或文件夹名称!如何获取 index.html 文件夹的路径

任何帮助将不胜感激!

设置 back-word 很简单,这样服务器就可以找到你 index.html 将代码更改为

app.get('/', (req, res) => {
   const htmlFile = path.join(__dirname, '/index.html');
   res.sendFile(htmlFile)
});

新代码将是

app.get('/', (req, res) => {
  const htmlFile = path.join(__dirname, '../html/index.html');
  res.sendFile(htmlFile)
});

我希望它对你有用它对我也有用

您可以使用 'path' 模块向后移动一个目录。

path.join(__filename, '..', 'html', 'index.html')

通过这种方式,您可以在 运行 您的应用程序在不同操作系统中时避免斜杠并消除问题。