Я уже давно искал в SO и Google, но не могу найти хорошего ответа. У нас работает webpack v4, и я хочу включить js-библиотеку Epson termal printer (epos-2.9.0), которую можно загрузить здесь .
Код выглядит примерно так:
(function(window,undefined){function callbackInfo(){this.callbackInfoList=new Object()}callbackInfo.prototype={addCallback:function(callback,sq){this.callbackInfoList[sq]=callback},removeCallback:function(sq){for(var i in this.callbackInfoList){if(i==sq){delete this.callbackInfoList[i];return}}},getCallback:function(sq){if(this.callb....
В соответствии с их документацией мне нужно иметь следующий код для печати:
var canvas = document.getElementById('canvas');
var printer = null;
var ePosDev = new epson.ePOSDevice();
ePosDev.connect('192.168.1.82', 8008, cbConnect);
function cbConnect(data) {
if(data == 'OK' || data == 'SSL_CONNECT_OK') {
ePosDev.createDevice('local_printer', ePosDev.DEVICE_TYPE_PRINTER,
{'crypto':false, 'buffer':false}, cbCreateDevice_printer);
} else {
alert(data);
}
}
function cbCreateDevice_printer(devobj, retcode) {
if( retcode == 'OK' ) {
printer = devobj;
printer.timeout = 60000;
printer.onreceive = function (res) { alert(res.success); };
printer.oncoveropen = function () { alert('coveropen'); };
print();
} else {
alert(retcode);
}
}
function print() {
printer.addText('Hello\n');
printer.send();
}
Я попытался экспортировать его глобально, используя загрузчик экспорта через веб-пакет:
{
test: require.resolve('./src/epos-2.9.0.js'),
use: 'exports-loader?epson'
}
Но не сработало, попытался включить его в index.html (глобально), но потом не смог его найти (наверное, мне нужно указать webpack экспортировать .js).
Как лучше всего использовать функцию epson в моем коде?