Javascript node.js使用模块而不将其分配给变量
在node.js中,在调用模块中的任何内容之前,我必须在模块前面放置一个词干:Javascript node.js使用模块而不将其分配给变量,javascript,node.js,import,Javascript,Node.js,Import,在node.js中,在调用模块中的任何内容之前,我必须在模块前面放置一个词干: const example = require('example.js'); example.func(); 我有一个非常混乱的node.js文件,我想把它分成几个部分。但是,我的代码如下所示: function func1(){ /* ... */ } function func2(){ /* ... */ } //blah blah func1(); //blah blah func2(); var
const example = require('example.js');
example.func();
我有一个非常混乱的node.js文件,我想把它分成几个部分。但是,我的代码如下所示:
function func1(){ /* ... */ }
function func2(){ /* ... */ }
//blah blah
func1();
//blah blah
func2();
var file1 = require('file1.js');
var file2 = require('file2.js');
//blah blah
file1.func1();
//blah blah
file2.func2();
如果我将其拆分为file1.js和file2.js,我的代码需要如下所示:
function func1(){ /* ... */ }
function func2(){ /* ... */ }
//blah blah
func1();
//blah blah
func2();
var file1 = require('file1.js');
var file2 = require('file2.js');
//blah blah
file1.func1();
//blah blah
file2.func2();
我必须将file1或file2放在调用函数之前,这是我想要避免的。有没有可能没有这些茎?
澄清
我希望每个文件有多个函数。该示例仅使用每个文件一个函数作为示例。听起来您希望每次导出仅导出函数,而不是包含函数的对象。在
file1
和file2
中,执行以下操作:
module.exports = function func1() {
};
而不是
module.exports.func1 = function func1() {
};
然后您可以调用如下函数:
var func1 = require('file1.js');
var func2 = require('file2.js');
//blah blah
func1();
//blah blah
func2();
(将文件名重命名为
func1.js
和func2.js
可能是有意义的)好吧,您可以在file1.js中使用类似于global.func1=function(){/*…*/}
的代码,但是在模块中使用global
这样的代码很容易出现各种问题,您可以使用require('file1.js').func1()
-这就是你的意思吗?@pguardiario不,我只想写func1Sorry,因为没有放这个,但我希望每个文件都有一个以上的函数。这个解决方案仍然非常有用,因为我现在至少可以拆分代码了。