Nic*_*lis 2 javascript json require node.js
我正在构建一个节点应用程序,其中需要一个单词列表.wordlist在JSON文件中,如下所示:
{
"en":["foo", "bar"],
"gr": ["foo", "bar"]
}
Run Code Online (Sandbox Code Playgroud)
JSON文件中的每个键代表不同的语言.
用户在创建对象时必须选择一种语言.所以我想在构造函数中导入JSON文件,如下所示:
const list = require('./config/lang.json')[lang]
Run Code Online (Sandbox Code Playgroud)
其中lang是传递给构造函数的参数.
这是不好的做法吗?
我听说有人说你应该总是require在代码的开头使用.我应该只在代码的开头需要整个内容const list = require('./config/lang.json'),然后只const wordlist = list[lang]在构造函数中提取所需的语言吗?
即使代码工作原理相同,require也会缓存调用.在您的情况下,不需要对每个新实例进行额外的函数调用,因此执行以下操作会更快(在这种情况下不重要):
const langs = require('./config/lang.json');
class MyClass {
constructor(lang) {
const list = langs[lang];
}
}
Run Code Online (Sandbox Code Playgroud)
另一件需要注意的事情是,它require是同步的,所以如果你的JSON特别大,那么你第一次实例化MyClass事件循环就会被阻塞.在开始时使用它可能已经在服务器(或者你正在做的任何事情)开始之前加载,所以require花费一些时间就没有问题了.
所以,是的,在我看来,require除非你知道你正在做什么,或者你正在加载一个动态依赖,否则调用应该在顶部.
| 归档时间: |
|
| 查看次数: |
392 次 |
| 最近记录: |