我这里的情况很奇怪。
1.当我在工作中使用此代码时 tokens.js
文件
const pathToPrivKey = path.join(__dirname, "..", "src/helpers/key/id_rsa_priv.pem");
错误是:
Error: ENOENT: no such file or directory, open 'C:\Users\arpitanand\Desktop\node-app\src\src\helpers\key\id_rsa_priv.pem'
注意 src
在路径字符串中自动复制为 \src\src\
2.当我在工作中使用此代码时 tokens.js
文件:
const pathToPrivKey = path.join(__dirname, "..", "helpers/key/id_rsa_priv.pem");
错误是:
Error: ENOENT: no such file or directory, open 'C:\Users\arpitanand\Desktop\node-app\helpers\key\id_rsa_pub.pem'
请注意,现在 /src/src/
他缺席了!
这是我的文件夹结构:
----src
| |
| +---controller
| |
| +---helpers
| | | tokens.js //I am here
| | +---key
| | id_rsa_priv.pem //I want to access this file
| | id_rsa_pub.pem
+---test
deleteUser.js
更新
1.产出 console.log(_dirname)
是:
C:\Users\arpitanand\Desktop\node-app\src\helpers
2.我已经运行过了
const pathToPrivKey = path.join(__dirname, "key/id_rsa_priv.pem");
其结果是:
Error: ENOENT: no such file or directory, open 'C:\Users\arpitanand\Desktop\node-app\helpers\key\id_rsa_priv.pem'
3.我使用 pathToPrivKey
这里,也只有这里:
const PRIV_KEY = fs.readFileSync(pathToPrivKey, "utf8");
2条答案
按热度按时间vngu2lb81#
__dirname
是模块所在的目录,而不是程序的工作目录。如果你有代码
src/helpers/tokens.js
并想参考src/helpers/key/id_rsa_priv.pem
,够了。
s6fujrry2#
好的,所以我不知道我的代码之前发生了什么,但我尝试使用
npm cache clean --force
同时删除我的node modules
并重新安装它们,它的工作!