Javascript NodeJ通过index.js需要多个模块
我有一个我正在处理的节点项目。它有多个模块,需要在整个项目中使用。想一想,我认为使用Javascript NodeJ通过index.js需要多个模块,javascript,node.js,Javascript,Node.js,我有一个我正在处理的节点项目。它有多个模块,需要在整个项目中使用。想一想,我认为使用index.js作为一种接口来访问这些不同的模块是一个好主意。以下是一个例子: lib/FileA.js var doStuff = function(){ console.log("Hello"); }; module.exports = doStuff; var doStuff= function(){ console.log("Hello"); }; module.
index.js
作为一种接口来访问这些不同的模块是一个好主意。以下是一个例子:
lib/FileA.js
var doStuff = function(){
console.log("Hello");
};
module.exports = doStuff;
var doStuff= function(){
console.log("Hello");
};
module.exports = doStuff;
lib/FileB.js
var doThings = function(){
enter code here
};
module.exports = doThings;
var doThings= function(){
// enter code here
};
module.exports = doThings;
lib/index.js
const A = require('./FileA');
const B = require('./FileB');
module.exports = {
A: A,
B: B
};
const A = require('./FileA');
const B = require('./FileB');
module.exports = {
A: A,
B: B
};
/Controller.js
const Modules = require('./lib');
console.log(Modules);
// This returns undefined??
console.log(Modules.A)
// This return undefined too
const Modules = require('./lib');
console.log(Modules);
// will work fine
console.log(Modules.A)
// will work fine
我做错了什么
更新
很抱歉我是凭记忆打字的。我已经更新了代码。我基本上是在调用node Controller.js我觉得一切都很好。除FileA和FileB的代码外 lib/FileA.js
var doStuff = function(){
console.log("Hello");
};
module.exports = doStuff;
var doStuff= function(){
console.log("Hello");
};
module.exports = doStuff;
lib/FileB.js
var doThings = function(){
enter code here
};
module.exports = doThings;
var doThings= function(){
// enter code here
};
module.exports = doThings;
lib/index.js
const A = require('./FileA');
const B = require('./FileB');
module.exports = {
A: A,
B: B
};
const A = require('./FileA');
const B = require('./FileB');
module.exports = {
A: A,
B: B
};
/Controller.js
const Modules = require('./lib');
console.log(Modules);
// This returns undefined??
console.log(Modules.A)
// This return undefined too
const Modules = require('./lib');
console.log(Modules);
// will work fine
console.log(Modules.A)
// will work fine
文件夹结构
/lib
-- index.js
-- FileA.js
-- FileB.js
/controller.js
然后打电话
节点控制器.js
需要('./lib')
将在package.json
中查找main
条目,我想?是否需要('./lib/index.js')代码>工作?您如何调用controller.js
,您使用的是哪个版本的节点?我刚刚注意到,在FileA.js
和FileB.js
中,您声明了var function=…
,它抛出了一个SyntaxError
,因此您甚至不应该访问控制台.log()
。