我正在构建一个hubot脚本,我想在其中加载一个yml文件。 我使用yamljs npm包来读取YAML文件。
问题是它总是说“没有这样的文件或目录”错误。 如果我把绝对路径运行起来。
我缺少什么? 我正在加载这样的文件:
feeds = YAML.load('../feeds.yml');
这是我的目录结构:
答案 0 :(得分:1)
你从哪里执行脚本?在节点中,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