javascript - 读取 npm 包的文件
问题描述
我创建了一个名为 test_package_cat 的 npm 包,它应该在开始时读取一个 json 文件(info.json)。因此,index.js(主要条目)和 info.json 处于同一级别。
当我在本地运行 index.js 时,我可以读取该文件。
任何一个:
fs.readFileSync('info.json')
或者
fs.readFileSync(path.resolve(__dirname, 'info.json')
工作正常。
但是,当我有另一个程序,一个使用该包的React页面时,它无法读取 json 文件。
cat = require('test_package_cat')
cat.meow()
当我在本地运行 index.js 时,如果我使用 console.log(__dirname),它会给我 C://......../myProject。但是,在运行 React 应用程序时,console.log(__dirname) 只打印“/”,而当我尝试打印目录/文件时,它什么也没显示。
如何让我的 npm 包读取 info.json 文件?
编辑:经过更多搜索,我设法通过以下方式使其工作:
let info = require('./info.json')
console.log(JSON.stringify(info))
但仍然想知道如何使用“readFile”方式进行操作。
解决方案
fs
仅在 Node 运行时环境中可用。它在浏览器的 JavaScript 运行时环境中不可用。我很惊讶你没有遇到这样的错误。
推荐阅读
- vue.js - vue 路由器是预先加载每个视图然后显示它还是通过仅在请求时加载视图服务器来实现?
- python-3.x - TemplateSyntaxError:变量“user.profile.photo”是无效来源
- php - Laravel 存储碳异常
- javascript - 反应复制查询数据导致空数组
- c++ - 将一些内容从应用程序移动到库会减少内存占用c ++
- angular - 如何从 Typescript 中的数据类型创建假对象以进行测试
- javascript - Discord.Client 不是构造函数
- python - 将excel中的多行重新格式化为可用(多)索引
- arrays - 我是循环遍历还是通过 Excel 中的数组添加数字
- javascript - 我的 JQueryAutocomplete 不会在 asp net webForm 中工作