当前目录或父目录中文件的路径有语法吗?

当前目录或父目录中文件的路径有语法吗?

我正在编写一个模板引擎,我希望允许用户引用当前目录中的文件,但如果它不存在,请查看父目录,依此类推直到该source/目录,该目录是在我的例子中是模板源树。

这允许轻松覆盖文件包含并根据位置解析不同的文件(对于国际化等有用)。

是否有任何常用的语法来处理这样的事情?

答案1

经过几天的等待,看起来没有人知道这方面的通用语法。

当我编写自己解析路径的系统时,我将只选择我希望有意义的内容:.../file将引用当前目录或祖先目录中的任何文件,直到source/我的“根”目录。

我的模板看起来像这样:

<div>{{ include path }}</div>

path这将包括在与当前文件相同的目录中调用的文件。

如果路径是绝对路径,如/path,那么它将解析为source/path

source/abc/def/ghi/other-file现在,使用这种新语法,给定一个包含以下内容的文件:

<div>{{ include .../path }}</div>

包含的文件可能位于以下任意位置:

source/path
source/abc/path
source/abc/def/path
source/abc/def/ghi/path

这使我能够通过构建如下目录来获得国际化等功能:

source/en/_messages
source/sv/_messages

现在,我可以拥有一个共享文件,根据包含的位置,只需声明以下内容即可填充来自包含所在区域的消息:

{{ include .../_messages }}

相关内容