2015-10-25 38 views
0

我有两个文件调用其他文件的功能和变量的node.js

app.js和funcs.js

在app.js我有以下的funcs中的代码

require('./funcs.js'); 

.js文件 我有以下代码

var TYPE_KEEPER = 1; 
var TYPE_USER = 0; 

function getBooking(bookingId, callback) 
{ 
    // some function here. 
} 

当我运行app.js,并调用TYEP_KEEPER,它摹现在ives me error

ReferenceError: TYPE_DRIVER is not defined 

如何在其他函数中定义所有常量。我怎样才能调用app.js中的函数,funcs.js中定义的函数

+0

有很多方法可以做到这一点,实例只是从funcs.js文件中返回一个对象,并执行'var stuff_from_func = require('./ funcs.js');'等等 – adeneo

回答

2

这里提供了一个可能的解决方案,即使它不是唯一可用的解决方案(例如,您可以导出对象的工厂代替下面的内容)。

在第一个文件,必须导出你的东西,因为它遵循:

module.exports = { 
    "TYPE_KEEPER": 1, 
    "TYPE_USER": 0, 
    "getBooking": function (bookingId, callback) { /* some function here. */ } 
} 

某处,你可以因为它遵循使用它们:

var stuff = require('path_to_the_file_above'); 
console.log(stuff["TYPE_KEEPER"]); 
stuff.getBooking(); 
+0

module.exports = { EVENT_CONNECTED =“cityConnected”; 尝试此并给出错误/var/www/html/Constants.js:3 app-0(err):EVENT_CONNECTED =“cityConnected”; app-0(err):^^^^^^^^^^^^^^^ app-0(err):SyntaxError:意外的标识符 –

+0

您说得对,修复了它。 – skypjack

+0

嗨,如果我想得到回报的东西var xx = stuff.getBooking();我如何返回数据的功能? –