Это не вопрос сервера или на стороне клиента, что дело используемой системы модуль загрузки.
Как вы уже знаете, что люди там используют CommonJS (который узел использует) AMD (который используется на стороне клиента, чтобы написать модульный JavaScript) и или сценарий тег (на стороне клиента), чтобы загрузить JavaScript модули. Поэтому вы должны каким-то образом подготовить свою библиотеку, чтобы ее можно было использовать с любой из этих систем загрузки модулей. В результате существует UMD (U niversal M МОДУЛЬ D efinition) модель, которая делает ваш модуль совместим со всеми этими системами модуля (см UMD templates, которые люди используют для реализации этого шаблона).
Строительные и пакетирования инструменты (например, WebPack, browserify, ...) есть средства для Bundle ваш модуль как UMD, так он совместим со всеми модуль загрузки системы:
WebPack:
Set libraryTarget
и library
Выходные конфигурации:
webpack.config.JS
module.exports = {
entry: './myModule.js',
output: {
filename: './dist/myModule.js',
// export to AMD, CommonJS, or window
libraryTarget: 'umd',
// set window global to this name
library: 'myModule'
}
};
Browserify:
Использование --standalone
(-s
) вариант:
browserify main.js -s myModule -o myModule.js
Только не использовать что-то, что не работает с обеими сторонами, или (по крайней мере) подражать их работе, если вы действительно в них нуждаетесь. – Arnial