hubot脚本加载yaml文件,不使用相对路径

时间:2015-01-31 15:26:32

标签: node.js coffeescript filesystems yaml hubot

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

问题是它总是说“没有这样的文件或目录”错误。 如果我把绝对路径运行起来。

我缺少什么? 我正在加载这样的文件:

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

这是我的目录结构:

enter image description here

1 个答案:

答案 0 :(得分:1)

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

  

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

来源:http://nodejs.org/api/fs.htmlhttps://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