1

我正在构建一个 hubot 脚本,我想在其中加载一个 yml 文件。我正在使用 yamljs npm 包来读取 YAML 文件。

问题是它总是说“没有这样的文件或目录”错误。如果我输入绝对路径,它就可以工作。

我错过了什么?我正在加载这样的文件:

feeds = YAML.load('../feeds.yml');

这是我的目录结构:

在此处输入图像描述

4

1 回答 1

2

你从哪里执行脚本?在节点中,路径文件fs是相对于process.cwd().

可以使用文件名的相对路径,但请记住,此路径将相对于 process.cwd()。

来源:http : //nodejs.org/api/fs.html,https: //stackoverflow.com/a/16730379/1007263

因此,如果您的脚本与 位于同一目录中feeds.yml,您可能应该:

feeds = YAML.load('./feeds.yml');

否则,YAML 中可能存在错误。在这种情况下,您可以简单地使用path直接传递绝对路径。

path.resolve('../feeds.yml')

来源:http ://nodejs.org/api/path.html#path_path_resolve_from_to

于 2015-02-16T13:05:41.780 回答