javascript - Node.js 中的文件路径

标签 javascript node.js express

我有一个看起来像这样的文件夹

主要 > 模型 > file1.ejs
|
|> 路线 > file2.ejs

两个 require file1 from file2 代码是 const variable = require("../models/file1.ejs) 假设我相对不想要求模型,为什么 const 变量 = require("/models/file1.ejs") 不起作用。

“/”不是表示从根目录开始吗?

如果我们在另一个文件夹中有大量文件夹,我们如何避免在文件路径中执行“../../../../”?

另外,为什么JS中的代码看起来像Comment = require("./models/comment") 有效,但当您执行 Comment = require("models/comment") 时无效

或者 ejs 中类似 <%- include("partials/header") %> 的内容 <%- include("/partials/header") %> 不起作用。

在路径设置期间是否始终从根目录开始?当它假设我的路径从根目录开始时,以“/”开头似乎最终会导致错误。

最佳答案

例如考虑下面的代码,

var filename = "file1.ejs"; 
var fullpath = __dirname + "/models/" + filename;

阅读有关 __dirname here 的文档

这就是提供绝对路径的方法,其中 __dirname 将为您提供直到当前工作目录的路径。

相对路径的工作原理如下,

例如,如果您尝试从 models 目录中的其他文件 file2.ejs 访问位于 models 目录中的文件 file1.ejs目录 models2 其中 models2 目录也在 models 内,那么您可以提供相对路径,

即文件夹结构如下,

basePath/models/file1.ejs   
basePath/models/models2/file2.ejs

并从 file2.ejs 访问 file1.ejs,如下所示,

var path = '../file1.ejs'  // going one folder back and getting inside parent models directory where the file1.ejs resides

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

相关文章:

javascript - 使用 Promise 递归修改对象

node.js - 用于确定是否发送 `100 Continue` 的正确 Node.js API

javascript - Express Handlebars-页面正在路由至 404

Javascript 按算法排序,jquery 也许

javascript - HTTP 406 错误服务器响应 : when sending filtering params in request

javascript - 玩家沿对 Angular 线移动 - 太快了 || Node JS

node.js - 如何在 HTML 上显示 Node 服务器的健康状态

node.js - 表达 typescript react : Send a json response after sending the view from the same request

javascript - 即使显式设置了宽度和高度,div 也会扩展以适应内容

javascript - 将 HTML 表格转换为数组 (JavaScript)