отреагировать на сторонний веб-пакет - PullRequest
0 голосов
/ 05 сентября 2018

Я уже давно искал в 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 в моем коде?

...