Подтвердить что ты не робот

NodeJs требуют (./file.js) проблем

У меня возникают проблемы, включая файлы для выполнения в моем проекте NodeJs.

У меня есть два файла в одном каталоге:

a.js

var test = "Hello World";

и

b.js

require('./a.js');
console.log(test);

Я выполняю b.js с node b.js и получаю ошибку ReferenceError: test is not defined.

Я просмотрел документы http://nodejs.org/api/modules.html#modules_file_modules

Что мне не хватает? Спасибо заранее.

4b9b3361

Ответ 1

Измените a.js, чтобы экспортировать переменную:

exports.test = "Hello World";

и присвойте возвращаемое значение require('./a.js') переменной:

var a = require('./a.js');
console.log(a.test);

Другой шаблон, который вы часто увидите и, вероятно, используете, - это присвоить объекту module.exports что-то (объект, функция) в a.js, например:

module.exports = { big: "string" };

Ответ 2

Вы не понимаете, что должно произойти. Переменные, определенные в вашем модуле, не используются совместно. NodeJS использует их.

Вы должны вернуть его с помощью module.exports.

a.js

module.exports = "Hello World";

b.js

var test = require('./a.js');
console.log(test);

Ответ 3

если вы хотите экспортировать переменную в другой файл. Есть два шаблона. Один a.js
global.test = "Hello World";//test здесь - глобальная переменная, но она будет загрязнена

Другое - это a.js module.exports.test = "Hello World"; или export.test = "Hello World"; b.js var test = require('./a.js');//test в b.js может получить тест в a.js console.log(тест);