Я пытаюсь разделить функции модуля узла на дополнительные файлы, так как есть множество функций, которые я хочу добавить.Как я могу разделить модуль узла на дополнительные файлы?
Я хотел бы вызывать функции основного файла в файлы, загруженные из библиотеки, и быть в состоянии вызвать Lib функции непосредственно, см:
В моем главном файле index.js
:
function Api(opt) {
// set options
}
Api.prototype.get = function (endpoint) {
return this.request('GET', endpoint, null);
};
Api.prototype.Catalog = require('./lib/catalog.js');
module.exports = Api;
Тогда в lib/catalog.js
function Catalog() {};
Catalog.prototype.getCategories = function() {
return Api.get('categories');
}
module.exports = Catalog;
Тогда я надеюсь достичь следующего, когда требуется модуль, поэтому файл каталога будет предоставлять доступ к:
var Module = require('module');
api = new Module({
url: 'http://example.com', // without trailing slash
username: 'username',
password: 'password'
});
api.Catalog.getCategories();
Когда делать это таким образом я получаю следующее сообщение об ошибке:
TypeError: Cannot read property 'getCategories' of undefined
Есть ли рекомендуемый способ для достижения этой цели, или, возможно, разделяя его на несколько модулей узла?
вам нужно добавить требуют, чтобы они были доступны, прежде чем сделать звонок. – Sachin