Javascript 在多个文件中要求lib的正确方法
我有两个文件——一个是主代码执行,另一个只是其中的一个类 例如: 文件1:Javascript 在多个文件中要求lib的正确方法,javascript,node.js,ecmascript-6,Javascript,Node.js,Ecmascript 6,我有两个文件——一个是主代码执行,另一个只是其中的一个类 例如: 文件1: const _ = require('underscore'), CoolClass = require('CoolClass'); _.map(//something) 文件2: const _ = require('underscore'); class CoolClass(){ constructor(){ _.map(//something); } } 需要图书馆的正确方式是什么 如果我在
const _ = require('underscore'),
CoolClass = require('CoolClass');
_.map(//something)
文件2:
const _ = require('underscore');
class CoolClass(){
constructor(){
_.map(//something);
}
}
需要图书馆的正确方式是什么
如果我在两个文件中都需要它,我们应该只在主文件中需要它,然后将其传递给构造函数,如:
let cool_stuff = new CoolClass(_);
或者我应该在需要时通过它,所以:
const _ = require('underscore')(_);
谢谢 是的。在节点中,您总是将其独立地包含在每个文件中 加载库(无论是节点的本机
require
还是其他什么)通常会缓存模块,以避免实际从文件系统多次重新加载模块
这样做是为了在每个文件中都有一个引用库的变量
从技术上讲,您可以执行第二个选项,但通常只有在必须从该库导入对象并以某种方式对其进行初始化时,才可以执行该操作,然后才可以传递已初始化的对象
类似于下划线的东西,只是导入和使用,您只需要在每个中使用它。是的。在节点中,您总是将其独立地包含在每个文件中 加载库(无论是节点的本机
require
还是其他什么)通常会缓存模块,以避免实际从文件系统多次重新加载模块
这样做是为了在每个文件中都有一个引用库的变量
从技术上讲,您可以执行第二个选项,但通常只有在必须从该库导入对象并以某种方式对其进行初始化时,才可以执行该操作,然后才可以传递已初始化的对象
类似下划线的东西,只是导入和使用,您只需要在每一个中使用。谢谢,我会坚持这个,然后谢谢,我会坚持这个