node.js - ejs文件中的相对路径

标签 node.js express

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

--My_App
   --public
      --stylesheets
         app.css
   --views
      --camps
         index.ejs
      --partials
         header.ejs
   app.js

我已经设置了express也提供公共(public)目录的静态文件app.use(express.static("public"));

问题是这样的:

我链接了app.css文件到我的index.ejs文件,使用 href <link> 的属性标签, 通过使用路径 = "/stylesheets/app.css" ,并且它有效。

但是当我尝试链接header.ejs时文件至index.ejs文件使用 <% include /partials/header.ejs %> 它给出了一个错误 - could not find "/partials/header.ejs" 。这不应该工作吗,因为 Express 也提供 View 目录的内容

另外,您能否提及上述使用的相对路径对应的绝对路径。

最佳答案

我认为问题出在路径上。

    var path = require('path');
    express.static(path.join(__dirname, 'public')));

你应该给出正确的路径

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

关于node.js - ejs文件中的相对路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54378517/

相关文章:

javascript - MongoDB:如何填充嵌入式引用

javascript - Electron JS : Renderer can't resolve module require ("./index.js") over HTTP

node.js - Mongoose findoneandUpdate 文档的多个字段

mysql - 如何使用 Sequelize CLI 从 Sequelize 模型自动生成迁移?

javascript - 与 puppeteer 师 : How can I get an iframe from its parent element selector?

node.js - Express.js 禁用控制台颜色

node.js - 如何在快速路由中指定可选参数名称?

node.js - 在服务器端使用 node.js + express.js 在 SPA(单页应用程序)中动态生成内容的 SEO

javascript - expressjs使用用户id查询数据库?

node.js - Node.js 交互式 shell 中的 window 对象