【发布时间】:2025-11-24 10:15:01
【问题描述】:
是否有现有的 API 或库可用于在浏览器和 Node 中加载 JSON 文件?
我正在开发一个模块,我打算通过 NodeJS 的命令行和浏览器运行该模块。我正在使用两者通用的最新语言特性(并且不需要支持旧版浏览器),包括类关键字和 ES6 导入语法。有问题的类需要加载一系列 JSON 文件(其中第一个文件标识需要加载的其他文件),我的偏好是按原样访问它们(它们是外部定义的并与其他工具共享)。
“导入”命令看起来可能适用于第一个 JSON 文件,但我没有看到使用该命令将一系列文件(由第一个文件确定)加载到变量中的方法。
一种选择是将辅助函数传递给类以加载文件,根脚本将根据 NodeJS 或浏览器的需要填充该函数。
另外,我目前的主要想法是定义一个单独的模块,其中包含一个可以导入的“异步函数 loadFile(fn)”函数,并设置路径以使不同版本的该文件为浏览器和 NodeJS 加载。
这似乎应该有一个原生选项,或者其他人已经为其编写了一个模块,但我还没有找到。
【问题讨论】:
-
axios 、 fetch 和 superagent 可以在两种环境中使用。在现代浏览器中,fetch 是内置的
-
令人沮丧的是,并非如此。您最好的选择是 fetch 用于浏览器和 fetch polyfill 用于节点。 Fetch 是part of the web api,而不是节点必须为 ECMA 实现的东西。他们特定的网络接口是 http 模块。
标签: javascript node.js es6-modules