Javascript 如何将节点模块拆分为其他文件?
我正试图将我的节点模块函数拆分为其他文件,因为我希望添加许多函数 我想将主文件的函数调用到从lib加载的文件中,并能够直接调用lib函数,请参见: 在我的主文件Javascript 如何将节点模块拆分为其他文件?,javascript,node.js,Javascript,Node.js,我正试图将我的节点模块函数拆分为其他文件,因为我希望添加许多函数 我想将主文件的函数调用到从lib加载的文件中,并能够直接调用lib函数,请参见: 在我的主文件index.js中: function Api(opt) { // set options } Api.prototype.get = function (endpoint) { return this.request('GET', endpoint, null); }; Api.prototype.Catalog = req
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
有没有推荐的方法来实现这一点,或者将其拆分为多个节点模块?尝试为新模块添加require
var Module = require('module');
var Catalog = require('Catalog');
var Api = require('Api');
api = new Module({
url: 'http://example.com', // without trailing slash
username: 'username',
password: 'password'
});
api.Catalog.getCategories();
尝试为新模块添加require
var Module = require('module');
var Catalog = require('Catalog');
var Api = require('Api');
api = new Module({
url: 'http://example.com', // without trailing slash
username: 'username',
password: 'password'
});
api.Catalog.getCategories();
在进行调用之前,您需要为它们添加一个可用的require。在进行调用之前,您需要为它们添加一个可用的require。但是,这不会从lib加载它们,它们需要拆分为单独的模块,用于Api和Catalog?var模块=require('Module')
旨在显示加载Api函数所需的index.js
文件的加载,在您的示例中,它被拆分了?但这不会从lib加载它们,它们需要拆分为单独的模块,用于Api和Catalog?var模块=require('Module')
旨在显示加载index.js
文件以加载Api函数,在您的示例中,它被拆分了吗?