Вам просто нужно добавить экспорт в основной файл, если вы хотите использовать его в узле. Точно так же
module.exports = {
randomHex(len) {
var maxlen = 8;
var min = Math.pow(16, Math.min(len, maxlen) - 1);
var max = Math.pow(16, Math.min(len, maxlen)) - 1;
var n = Math.floor(Math.random() * (max - min + 1)) + min;
var r = n.toString(16);
while (r.length < len) {
r = r + randHex(len - maxlen);
}
return r;
},
}
или около того
module.exports.randomHex = function(len) {
var maxlen = 8;
var min = Math.pow(16, Math.min(len, maxlen) - 1);
var max = Math.pow(16, Math.min(len, maxlen)) - 1;
var n = Math.floor(Math.random() * (max - min + 1)) + min;
var r = n.toString(16);
while (r.length < len) {
r = r + randHex(len - maxlen);
}
return r;
},
Тогда просто запустите npm publish
, и ваш пакет будет публично доступен
Загрузчик браузера:
!function () {
class Module { constructor(exports) { Object.assign(this, exports) } }
const modules = {}
const fetchSync = (file) => {
var xhr = new XMLHttpRequest()
xhr.open("GET", file, false)
xhr.send(null)
return xhr.responseText
}
window.require = (file) => {
file = file.replace('.js', '').replace(/^\.\//, '')
const name = `${file}.js`.match(/\/?(.*)\.js/)[1]
if (modules[file]) return modules[file].exports
const module_code = fetchSync(`${file}.js`)
let exports = { exports: {} }
Function('module', 'require', module_code)(exports, require)
const module = modules[file] = new Module(exports.exports)
return window[name] = module
}
}()