Я прочитал несколько страниц о расширении модуля. Они вращаются вокруг, используя функциональную форму модуля, и я получаю, как это сделать (от https://toddmotto.com/mastering-the-module-pattern/)расширение модуля, когда модуль использует «module.exports»
var Module = (function() {
return {
publicMethod: function() {
// code
}
};
})();
но то, что у меня есть два модуля как этот
util.js
module.exports = {
thing1: function() {// do thing1 stuff }
}
extend.js
пакет я не могу изменить (от НПМ)
module.exports = {
thing2: function() {// do thing2 one stuff}
}
Теперь притворяясь я собираюсь использовать мой util.js модуль
const _ = require('util.js);
let catin = _.thing1; // that's easy
let thehat = _.thing2;. // this was util.js extended.
Я мог в util.js
просто сделать это.
const ex = require('extend.js')
module.exports = {
thing1: function() {// do thing1 stuff }
thing2: ex.thing2
}
и это нормально, так как extend.js имеет только одну функцию/метод для расширения, но я хотел бы выразить это в моей библиотеке UTIL https://github.com/dodekeract/bitwise/blob/master/index.js, но у него есть 22! предметы для продления.
Должен быть лучший способ скольжения да?
Я открыт для рефакторинга файла util.js (но не для кодирования каждого расширения, как я показал), поэтому он автоматически расширяется, но, очевидно, не может реорганизовать этот пакет, который я не поддерживаю, кроме вилки. .ugh. Также не заинтересован в добавлении подряда, например
ex: ex
_.ex.thing2
Идеи?
Посмотрите на http://stackoverflow.com/q/171251/3284355, чтобы увидеть, как объединить 2 объекта. – Molda
иногда вы попадаете в психический угол и не можете видеть простой ответ. Конечно, я объединил объекты раньше, но я был настолько сосредоточен на «модулях». thx @Molda. Если вам нужен rep, тогда сделайте сообщение, которое я могу выдвинуть и выбрать в качестве своего ответа. – DKebler
Не беспокойтесь о * rep *, я рад, что смогу помочь. – Molda