Как сделать мой модуль машинописного текста npm пригодным для использования в простом проекте Javascript? - PullRequest
0 голосов
/ 17 января 2019

Недавно я создал модуль для прослушивания вводимых нажатием клавиш документов, чтобы получать события от физического считывателя штрих-кода, используемого в качестве клавиатуры.
Источник можно найти здесь: https://github.com/tii-bruno/physical-barcode-reader-observer
Модуль npm здесь: https://www.npmjs.com/package/physical-barcode-reader-observer
У меня не было проблем, чтобы использовать его в Ionic-проекте (Angular + Cordova).
Но я хотел бы использовать его в простом проекте PHP / Javascript (который не использует npm, а старый скрипт include), и у меня есть некоторые трудности для этого…
Я попытался выполнить поиск с помощью gulp, но когда я попытался использовать свой класс, у меня возникла ошибка, например, что MyObject не определен ...
Подскажите, пожалуйста, как мне достичь своей цели?

1 Ответ

0 голосов
/ 17 января 2019

Вам нужно будет создать «конвейер сборки». Определенно лучший способ управлять пакетами npm - npm, поэтому ваш проект должен включать package.json вместе с другими файлами проекта.

В этом «конвейере сборки», чтобы собрать весь ваш проект (например, если вы используете Makefile или другой инструмент для сборки), сначала вам нужно собрать клиент (javascript). У вас должен быть файл main.js, чтобы начать связывать ваше приложение. Этот файл будет выглядеть так:

const pbro = require('physical-barcode-reader-observer');
const anotherModule = require('./local_module.js');
...

Как видите, внутри этого основного файла нам требуются все необходимые нам модули, поэтому любой пакетный инструмент (например, Browserify или webpack) знает, какой файл является точкой входа приложения. Например, browserify docs sais:

browserify main.js -o bundle.js

Тогда все модули будут объединены в один файл, в данном случае bundle.js.

Далее мы хотели бы включить этот пакет в наш html-файл следующим образом:

<html>
    <body>
        <script src="bundle.js" />
    </body>
</html>

Примечание: это всего лишь предложение, есть много способов автоматически включить связанный файл в html, как в webpack, и это html-webpack-plugin

То, что мы получили до сих пор, - это просто «конвейер сборки», что нужно сделать дальше, это спланировать развертывание. Для этого вам нужно будет настроить веб-сервер и настроить его для обслуживания связанного файла. Например, если ваш домен www.domain.com, вам нужно настроить веб-сервер, чтобы найти www.domain.com/bundle.js (как указано в html-файле).

...