【发布时间】:2021-09-07 05:33:24
【问题描述】:
我制作了一个非常简单的npm package 来支持我的不和谐机器人。
在我的机器人代码中,我试图使用我的包中的一个函数。但是,当我启动机器人代码时,我收到此错误:
Error: ENOENT: no such file or directory, open 'prefixes.json'
我在 npm 包的主目录中有一个 prefixes.json 文件。在包中执行此代码(返回错误):
const contents = fs.readFileSync(`prefixes.json`);
const jsonPrefixes = JSON.parse(contents);
当我打开依赖于这个包的不和谐机器人时,会执行此代码。 prefix.json 与我的 npm 包的 index.js 位于同一目录中。我试过./prefix.json 和prefix.json,都没有用。
错误是因为包试图在我的机器人目录中搜索,而不是他自己的吗?我该如何克服这个问题?
更新:当我尝试 ./node_modules/kifo/prefixes.json 时,它起作用了,但我不希望这样 - 有没有办法提供相对于包的路径?
【问题讨论】:
-
小心提供这样的路径。如果有人在没有
npm install的情况下使用npx,则可能无法正常工作,因为您的模块位于临时文件夹中。