2015-07-20 92 views
0

我堆栈溢出/谷歌阅读四周,看到包括在另一个文件中使用其内容的js文件的方法..和的NodeJS需要包括index.js文件

我有admin.js和index.js,在admin.js我需要访问index.js中的数组。

在index.js我:

exports.chatrooms = function(){ 
    return usernames; 
} 

在admin.js我:

var indexFileInclude = require('index.js'); 
var chatrooms = indexFileInclude.chatrooms(); 
console.log(JSON.stringify(chatrooms)); 

我得到一个错误:

Missing error handler on `socket`. 
Error: Cannot find module 'index.js' 

我在做什么错

+0

对不起,这是一个错字 – Richard

+2

搜索愚弄的人......但它的要点是,使用相对路径获得的文件,例如'/ index.js' –

+0

如果我改变文件路径到你指定的东西我得到的错误在使用中:错误:听EADDRINUSE ...好像其他东西正在使用端口3000 – Richard

回答

3

With require() if you do不会指定一个路径,它会假定您将目标指向了node_modules文件夹。要改为在相同的文件夹中拉出一个模块,您可以使用./表示法来指定要定位当前文件夹。

var indexFileInclude = require('./index'); 
+0

好的,谢谢!它正在正确加载文件(我认为...),因为我正在转向下一个错误,TypeError:对象#没有方法'聊天室'。该方法是100%内index.js只需返回我需要访问的数组。 – Richard

+0

我没有看到任何可能导致此问题的代码。 –