命名node.js中的类集合

时间:2016-06-03 21:30:41

标签: javascript node.js namespaces

我正在开发node.js.我有一堆相关的类,我想把它们放在一个子目录中,子目录中每个文件一个类,按以下方式构造:

 lib/
   main.js
   melons/
     casaba.js
     canteloupe.js
     carnegie.js

并在我的主文件中使用它们:

var Melons = require('./melons/');
var m1 = new Melons.Casaba();
var m2 = new Melons.Canteloupe();
var m3 = new Melons.Carnegie();

认为我需要一个瓜/ index.js文件,但我不清楚它包含什么。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

是的,您需要创建melons/index.js,结构如下:

// file: melons/index.js
module.exports = {
  Casaba: require('./casaba'),
  Canteloupe: require('./canteloupe'),
  Carnegie: require('./carnegie'),
};

确保子目录中的每个文件都有module.exports分配,例如:

// file: melons/casaba.js
'use strict';

function Casaba() {}
Casaba.prototype.constructor = Casaba;

module.exports = Casaba;

我相信这是一个惯用的解决方案,但如果有更好的方法,请告诉我......