Как получить переменную из файла в другой файл в node.js

Вот мой первый файл:

var self=this;
var config ={
    'confvar':'configval'
};

Я хочу эту конфигурационную переменную в другом файле, так что я сделал в другом файле:

conf = require('./conf');
    url=conf.config.confvar;

но это дает мне ошибку.

TypeError: Cannot read property 'confvar' of undefined

Пожалуйста, предложите, что я могу сделать?

Ответы

Ответ 1

Что вам нужно - module.exports

экспорт

Объект, который совместно используется всеми экземплярами текущего модуля и доступен через require(). Экспорт такой же, как и объект module.exports. См. Src/node.js для получения дополнительной информации. экспорт не является глобальным, а скорее локальным для каждого модуля.

Например, если вы хотите выставить variableName со значением "variableValue" на sourceFile.js вы можете либо установить весь экспорт как таковой:

module.exports = { variableName: "variableValue" };

ИЛИ вы можете установить индивидуальное значение с помощью:

module.exports.variableName = "variableValue";

Чтобы использовать это значение в другом файле, вам нужно сначала (require(...) сначала (с относительным перемещением):

var sourceFile = require('./sourceFile');
console.log(sourceFile.variableName);

Ответ 2

FileOne.js

module.exports = {ClientIDUnsplash: 'SuperSecretKey'}


FileTwo.js

var {ClientIDUnsplash} = require ('./FileOne');

Этот пример лучше всего работает для ReactJs

Ответ 3

Вам нужно передать объект вместо строки.

first.js

var a = {

    txt : 'this is first.js'
}

function too() {
    console.log(a.txt);
}
module.exports = { foo: a, too:too };

в app.js вы можете изменить его, и это будет отражено везде

var a = require("./first");
a.foo.txt = 'hahaha';
console.log(a.foo.txt);
a.too();

Я надеюсь, что это помогает.