相对文件路径表明不同的文件夹结构?

The relative file path suggests a different folder structure?

我有以下 folder/file 结构:

  1. 体重指数计算器 > public > styles.css
  2. bmi 计算器 > 视图 > index.ejs
  3. bmi-计算器 > bmi-calculator.js

在我的 index.ejs 文件中,link css 文件和 js 脚本包含以下行:

<link rel="stylesheet" href="../public/styles.css">
<script src="../bmi-calculator.js" async defer></script>

然而,css 样式 sheet 没有 link 正确(JS 文件正确),但是当它被更改为这个时 links :

<link rel="stylesheet" href="styles.css">

此外,当我将脚本更改为:

<script src="bmi-calculator.js" async defer></script>

我的 js 文件继续 link 正确。但是,以上内容会建议以下文件夹结构:

  1. bmi 计算器 > 视图 > index.ejs
  2. bmi-计算器 > 视图 > bmi-calculator.js
  3. bmi 计算器 > 视图 > styles.css

此外,我不确定这是否会改变任何内容,但在我的 bmi-calculator.js 文件中我有 app.use(express.static('public'));也包括在内,我是 运行 使用 nodemon bmi-calculator.js.

的脚本

我已阅读有关相对文件路径的内容,但这并不像我预期的那样有效!为什么这不能正常工作?

express.static 将静态文件的上下文设置为 public 目录。所以在你的静态文件中,要定义的路径是相对于那个上下文的。因此,您无需执行以下操作即可访问 public 目录中的任何内容:

../public/abc.css