は、次のように必要になることができます。メソッドにオブジェクトを添付してnpmパッケージを作成するには?私はそれのNPMパッケージを作成しようとしています
var Greeks = require('greek-mythology-data');
var gods = new Greeks('gods');
gods.sortByName();
が、私はこのような何かをするだけで管理している:
var Greeks = require('greek-mythology-data');
var gods = require('greek-mythology-data/data/gods.json');
gods = new Greeks(gods);
console.log(gods.sortByName());
これまでのところ、私はこの
を持っていますvar all = require('./data/greeks.json');
var demigods = require('./data/demigods.json');
var generalDeities = require('./data/general-deities.json');
var giants = require('./data/giants.json');
var gods = require('./data/gods.json');
var kings = require('./data/kings.json');
var primordialDeities = require('./data/general-deities.json');
var seaDeities = require('./data/sea-deities.json');
var titans = require('./data/titans.json');
function Greeks(collection) {
this.collection = collection;
/* return {
all: all,
demigods: demigods,
generalDeities: generalDeities,
giants: giants,
gods: gods,
kings: kings,
primordialDeities: primordialDeities,
seaDeities: seaDeities,
titans: titans,
}*/
}
Greeks.prototype.sortByName = function() {
var compare = function(a, b) {
if (a.name < b.name)
return -1;
if (a.name > b.name)
return 1;
return 0;
};
return this.collection.sort(compare);
};
module.exports = Greeks;
私が今解決しているソリューションは非常に便利だとは思いません。
私は正しいアプローチをとっていますか?
互換性のためにes5にも書きましたが、ES6/ES2015に移動してインポート/エクスポートとクラスを使用する必要がありますか?
本当にあなたが何を求めているのかは分かりません。あなたが望むことを実行する実用的なソリューションを既に持っているようです。 – jfriend00
私の解決策では、インポートステートメントを複製する必要があります –
'this.collection = require( './ data /' + collection + '。json');' 'collection'を文字列 – Bergi