родное javascript дополнение не может запустить его в браузере - PullRequest
0 голосов
/ 07 марта 2020

Я новичок в javascript, я пытаюсь использовать нативные дополнения, и я собрал его и протестировал, используя узел под консолью. Однако, когда он включен в html и работает под chrome, он продолжает говорить, что require не определено. Затем я использую browserify, чтобы связать его, но я получил это сообщение:

Ошибка разбора: неожиданный символ '?'

index. js:

const Input = require('./build/release/sendinput.node');
console.log('test',Input);
function SendInput(inputs){
    if(!Array.isArray(inputs))
        inputs = [inputs];
    let arr = [];
    for(let inp of inputs){
        if(typeof inp != "object")
            throw new Error("Expecting array of objects");
        if(!Number.isInteger(inp.type) || inp.type < 0 || inp.type > 2)
            throw new Error("Expecting type to be an integer from 0 to 2");
        if(!Number.isInteger(inp.val))
            throw new Error("Expecting val to be an integer")
        switch(inp.type){
            case 0:
                arr.push(Input.CreateKBDInpVKey(inp.val, !!inp.up));
            break;
            case 1:
                let val = inp.val;
                let extended = false;
                if(val >> 8 & 0xFF == 0xe0)
                    extended = true;
                arr.push(Input.CreateKBDInpScanCode(inp.val & 0xFF, !!inp.up, extended));
            break;
            case 2:
                arr.push(Input.CreateKBDInpUnicode(inp.val, !!inp.up));
            break;
        }
    }
    return Input.SendInput(arr);
}
module.exports = {SendInput}  //SendInput now a object.

от выполняется: индекс узла. js, вывод:

test {
  SendInput: [Function],
  CreateKBDInpVKey: [Function],
  CreateKBDInpScanCode: [Function],
  CreateKBDInpUnicode: [Function]
}

Мне нужно, чтобы они работали в браузере. Кто-нибудь может помочь мне с этим? Спасибо

1 Ответ

0 голосов
/ 07 марта 2020

вы не можете использовать нодальные модули узлов в браузерах, вот и все. Вы можете запустить сервер Nodejs rest и использовать вызовы rest из браузера на сервер, и пусть Nodejs сделает работу и использует ответ в браузерах, вот и все.

...