Pokud cílíte prostředí non-prohlížeče, jako je Node.js to bude možné, protože budete moci projít odkazy na globálních členy vašeho modulu, například Array, do jiných modulů. Tyto další moduly pak lze rozšířit prošel v objektu a / nebo jeho prototyp s další funkce, která bude přístupná pouze volající modul. Ostatní moduly budou muset udělat to samé, aby si tato rozšíření; Proto, konflikty jsou minimalizovány, protože dovoz jsou jednoznačné.
Nicméně, v prostředí prohlížeče toto není ten případ, protože je tam jen jeden windowobjekt a případné změny jejích členů jsou k dispozici všude. Jakmile se některý z vašich modulů rozšířila Arraytyto rozšíření by být k dispozici pro všechny ostatní moduly - zvyšuje možnost konfliktů a dělat kód těžší důvodu asi.
Díky, že řekl, existují vzory v JS, a proto psacím stroji, které by měly dosáhnout toho, co chcete. Jeden takový vzor je ‚mixin‘ vzor, který vám umožní přidat na další funkce na objekt instance bázi. Dalo by se oddělit opakovaně použitelného kódu do mixin modulů, které by pak mohly být aplikovány na objekt v případě potřeby, nebo dokonce automaticky konstruktérů. Podívejte se na to na slušný přehled a implementačních příkladech: http://javascriptweblog.wordpress.com/2011/05/31/a-fresh-look-at-javascript-mixins/