hubot脚本加载yml文件,不要使用相对path

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

问题是,它总是说“没有这样的文件或目录”的错误。 如果我把绝对path的作品。

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

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

这是我的目录结构:

在这里输入图像说明

你从哪里执行脚本? 在节点中, fs中的path文件与process.cwd()

可以使用文件名的相对path,但请记住,此path将与process.cwd()相关。

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

因此,如果你的脚本和feeds.yml在同一个目录feeds.yml ,你应该:

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

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

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

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