gpt4 book ai didi

node.js - 如果我将模块发布到 npm,fs 无法获取文件

转载 作者:太空宇宙 更新时间:2023-11-03 23:35:48 25 4
gpt4 key购买 nike

当我将模块发布到 npm 时遇到问题。

这是文件结构:

- node_modules
- lib
-- file.txt
- index.js
- package.json

我这样使用它:

var a = fs.readFileSync('./lib/file.txt');

它适用于本地开发。但是当我将模块发布到 npm 时,它说:

Error: ENOENT, no such file or directory './lib/file.txt'

这个错误来自fs,它没有获取文件。与嵌套的node_modules文件夹有关吗?

我的意思是当我想在清除文件夹中测试我的模块时,我安装模块:

npm install <my-module-name>

创建一个 test.js 文件并将代码放入其中:

var myModuleName = require('my-module-name');

var a = myModuleName();

console.log(a);

所以新的结构变成:

- node_modules
-- my-module-name
-- node_modules
-- lib
-- file.txt
-- index.js
-- package.json
- test.js

有什么想法吗?

最佳答案

这是因为 fs.readFileSync 正在查找相对于当前工作目录的文件。尝试使用__dirname:

var path = require('path');

var a = fs.readFileSync(path.join(__dirname, 'lib', 'file.txt'));

关于node.js - 如果我将模块发布到 npm,fs 无法获取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32750580/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com