当前位置: 首页 > 面试题库 >

我可以使用一个require语句加载多个文件吗?

丌官晨
2023-03-14
问题内容

也许这个问题有点愚蠢,但是可以用一个require语句加载多个.js文件吗?像这样:

var mylib = require('./lib/mylibfiles');

并使用:

mylib.foo(); //return "hello from one"

mylib.bar(): //return "hello from two"

在文件夹mylibfiles中将有两个文件:

One.js

exports.foo= function(){return "hello from one";}

Two.js

exports.bar= function(){return "hello from two";}

我当时在想将package.json放到文件夹中,以说加载所有文件,但是我不知道如何。我在想的另一个方法是让index.js再次导出所有内容,但我将重复工作。

谢谢!!

PD:我正在Windows 7机器上使用Node.js v0.611


问题答案:

首先使用require不会重复任何东西。它加载模块并对其进行 缓存
,因此require再次调用将从内存中获取它(因此您可以在不与模块源代码交互的情况下即时修改模块-
有时这是理想的,例如,当您想在模块内部存储数据库连接时)。

package.json不会加载任何内容,也不会与您的应用进行交互。仅用于npm

现在,您不能一次需要多个模块。例如将发生,如果两者是什么One.js,并Two.js具有相同的名称定义的函数?还有更多的问题。

但是您可以做的是编写附加文件,modules.js并显示以下内容

module.exports = {
   one : require('./one.js'),
   two : require('./two.js'),
   /* some other modules you want */
}

然后您可以简单地使用

var modules = require('./modules.js');
modules.one.foo();
modules.two.bar();


 类似资料:
  • 问题内容: 例如,我想在一个响应中下载一个zip文件和一个csv文件。除了将这两个文件压缩到一个zip文件中之外,还有其他方法吗? 问题答案: 尽管ServletResponse并不是要这样做,但我们可以通过编程方式对其进行调整,以发送多个文件,除IE以外的所有客户端浏览器似乎都可以正确处理。下面给出了一个示例代码片段。 在IE浏览器中将无法使用。注意:不包括尝试捕获块

  • 问题内容: 我想在我的MySQL服务器上执行以下操作: 这在控制台上工作正常,但在我的Java PreparedStatement中却无法正常工作。它在’;’处引发带有语法错误的异常。分离语句。我喜欢该变量,因为我不必重复查找子句,但是如有必要,我可以重写它。与UNION子句相对应的JOIN也有点尴尬。 谢谢, 约书亚记 问题答案: JDBC从未支持解析定界查询。每次调用都是一次数据库访问。也许您

  • 用PySimpleGUI一次可以选择多个文件路径吗 只能选择一个文件 null 没有循环模式的多个文件的任何API?

  • 问题内容: 我有多个JAR文件,必须将其添加到Eclipse中的classpath中。 是否可以将30个文件合并为一个文件并包含该文件? 问题答案: 您可能想看看jarjar。 如果您使用Ant任务,也可以进行以下操作:

  • 问题内容: 在Java文件中具有多个类的目的是什么? 编辑: 这可以通过在公共类内部创建内部类来实现,对吗? 问题答案: 是的,它可以。但是,每个文件只能有一个公共顶级类,并且公共顶级类必须与源文件具有相同的名称。 在一个源文件中包含多个类的目的是将相关的支持功能(内部数据结构,支持类等)与主要的公共类捆绑在一起。请注意,不要这样做总是可以的-唯一的影响就是代码的可读性。

  • 问题内容: 我有2个maven2配置文件,硒和jspc。现在,对于“ selenium”,id希望隐式激活“ jspc”,这样我就不必从命令行编写mvn -Pselenium,jspc。这可能吗 ? 问题答案: 您不能“链接”配置文件激活(maven参考),但是可以通过相同的属性来激活它们: 和运行