我有一个看起来像的文件夹
主页>模型> file1.ejs
|
|>路由> file2.ejs
来自file2的两个require file1代码是const variable = require(“ ../ models / file1.ejs)假设我不想相对地要求模型,为什么const variable = 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的文档
这是提供绝对路径的方法,其中__dirname将为您提供直到当前工作目录的路径。
相对路径如下所示
例如,如果您试图访问的文件file1.ejs
是内部的models
其他文件目录file2.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
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句