模块内的相对路径

Relative path inside a module

我有 this module 需要特定的文件才能工作。您可以传递要使用或不使用的文件的路径。如果不这样做,则会采用默认文件。该默认文件位于资源文件夹中,因此我输入的路径为:"resources/data/type-graph.txt"。问题是它不起作用,因为它将我的 CWD 作为根目录。

你知道如何使路径相对于模块目录吗?

如有任何建议,我们将不胜感激:)。

你应该看看Modules documentation page。 给出了这个例子来访问资源文件夹中的文件:

my $template-text = %?RESOURCES<templates/default-template.mustache>.slurp;

您还需要在 META6.json 中列出该文件,以便在安装模块后可以访问该文件。

{
    ...,
    "resources": [ "templates/default-template.mustache"]
}

正如 guifa 在评论中指出的那样 %?RESOURCES 适用于单个文件,而不是目录结构。它不保证文件的实际存储方式。所以 %?RESOURCES<templates>.dir 将不起作用。