Я рассматриваю возможность использования browserify для некоторых моих проектов, но хочу убедиться, что другим не нужно использовать если они хотят использовать (в комплекте) код. Очевидный способ сделать это - разоблачить экспорт модулей через module.exports
, а также через window.
global. Однако я бы предпочел не загрязнять глобальное пространство имен для тех, кто require
использует script.
Можно ли определить, является ли script require
d? Если да, то я мог бы сделать что-то вроде:
var mymodule = (function() { ... })();
if (isRequired()) {
module.exports = mymodule;
} else {
window.mymodule = mymodule;
}
Обратите внимание: что бы это ни было, это будет связано заранее, поэтому var mymodule
не будет отображать глобальное. Кроме того, в настоящее время я использую раскрытие шаблона модуля, но хотел бы перейти на что-то более подходящее для браузера.
Какой лучший способ сделать модуль как require
способен, так и <script src=
способен? Лучше всего просто разоблачить глобальную ситуацию в обоих случаях?