Node.js ejs文件中的相对路径

Node.js ejs文件中的相对路径,node.js,express,Node.js,Express,我正在尝试创建一个express应用程序,它具有以下文件夹结构 --My_App --public --stylesheets app.css --views --camps index.ejs --partials header.ejs app.js 我已经设置了express来为公共目录的静态文件服务app.use(express.static(“public”) 问题是: 我使用标

我正在尝试创建一个express应用程序,它具有以下文件夹结构

--My_App
   --public
      --stylesheets
         app.css
   --views
      --camps
         index.ejs
      --partials
         header.ejs
   app.js
我已经设置了
express
来为公共目录的静态文件服务
app.use(express.static(“public”)

问题是:

我使用
标记的
href
属性将
app.css
文件链接到我的
index.ejs
文件, 通过使用path=
“/stylesheets/app.css”
,它就可以工作了

但是当我尝试使用链接将
header.ejs
文件链接到
index.ejs
文件时
它给出一个错误-
找不到“/partials/header.ejs”
。因为express也提供视图目录的内容,所以这不应该起作用吗


此外,请您提及上述相对路径的相应绝对路径

我认为问题出在路径上

    var path = require('path');
    express.static(path.join(__dirname, 'public')));
你应该给出正确的路径

<% include ./views/partials/header.ejs%>


你试过了吗?“./partials/header.ejs”是的,它可以工作。但是我想知道为什么它不适用于
“.ejs”不是静态文件,而是在v8引擎中处理的。此外,您将一个文件包含在另一个文件中。这与在另一个文件中包含指向该文件的链接不同。好的,感谢您的回复。我还有一个问题(很抱歉给您带来不便)。这两个相对路径是否都指向同一根目录?我认为如果你有app.set('views',path.join('uuu dirname,'/views'),你需要理解这些代码行在代码中的含义;应用程序集(“查看引擎”、“ejs”);