Итак, я впервые пытаюсь взять большое js-приложение, написанное в одном файле, и модульно преобразовать его в отдельные файлы. Цель состоит в том, чтобы создать более организованную базу файлов, а не одну большую.
Есть много вызовов API и много общей информации. Я использую module.exports, но я не уверен, что это лучший способ сделать это. Я хотел бы получить совет о том, как сделать это более правильно, или, может быть, я должен использовать какой-то другой метод? Я использую module.exports для передачи определенных данных, а не функций.
Например, вот функция аутентификации, которая была в файле большего размера и теперь в authenticate.js (некоторые несущественные части были удалены):
module.exports.authenticate = (logger) => {
return new Promise((resolve, reject) => {
const authentication = new logger("Authentication Service");
fs.createReadStream('auth.json').pipe(request.post(('https://example.com/auth'), function (error, response, body) {
authentication.log('Authenicating API access');
body = JSON.parse(body);
token = body.response.token
if (typeof(token) === 'undefined' || token === '') {
reject('No Token Available');
}
authentication.log('Successfully logged in.');
module.exports.token = token;
resolve();
}));
})
}
В частности, я использую 'module.exports.token = token;' Чтобы передать информацию о токене, которая была только что получена из вызова API, я делаю это в нескольких модулях, хотя для разных частей информации.
Это правильная и хорошая практика?
Спасибо!