我有两个文件 - 一个主代码执行,另一个只有一个类。
例如:
File_1:
const _ = require('underscore'),
CoolClass = require('CoolClass');
_.map(//something)
Files_2:
const _ = require('underscore');
class CoolClass(){
constructor(){
_.map(//something);
}
}
要求图书馆的正确方法是什么?
我是否应该在两个文件中都需要它,我们应该只在主文件中要求它,然后将它传递给构造函数,如:
let cool_stuff = new CoolClass(_);
或者我应该在需要时通过它,所以:
const _ = require('underscore')(_);
谢谢!
答案 0 :(得分:2)
是。在Node中,您始终将它包含在彼此独立的每个文件中。
加载库(无论是Node的本地require
还是其他东西)通常会缓存模块,以避免从文件系统中多次重新加载它。
您这样做是为了拥有一个引用每个文件库的变量。
你可以在技术上做第二个选项,但是你通常只在必须导入然后以某种方式从该库中初始化一个对象,然后你传递初始化对象时才这样做。
像下划线这样的东西只是导入和使用,你只需要在每个。