2015-10-25 2 views
0

у меня есть два файлаВызов функции и переменные из других файлов в Node.js

app.js и funcs.js

в app.js я следующий код

require('./funcs.js'); 

в funcs .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(); как вернуть данные обратно в функцию? –

Смежные вопросы