Как использовать пакет @graphy npm в приложении angular?

#angular

#angular

Вопрос:

Мне нужно использовать библиотеку для анализа RDF на стороне браузера. Я пытаюсь использовать Graphy https://github.com/blake-regalia/graphy.js поскольку у него, по-видимому, есть многообещающие ориентиры. Однако я понятия не имею, как использовать его в Angular. Автор утверждает, что он должен работать с Webpack, но это не так просто (по крайней мере, для меня), как с другими библиотеками NPM.

Что я сделал:

  npm install --save graphy
  

и

 import ttlReader from '@graphy/content.ttl.read';
....
    const reader = ttlReader();
    reader.read(graphContent);
    reader.on('data', console.log);
  

Но это заканчивается

 Uncaught ReferenceError: global is not defined
    js index.js:43
    Webpack 20
        __webpack_require__
        js
        __webpack_require__
        js
        __webpack_require__
        node_modules
        __webpack_require__
        ts
        __webpack_require__
        ts
        __webpack_require__
        ts
        __webpack_require__
        ts
        __webpack_require__
        0
        __webpack_require__
        checkDeferredModules
        webpackJsonpCallback
        <anonymous>
  

Как я могу использовать эту библиотеку в Angular?

Ответ №1:

Давайте попробуем обновить некоторые конфигурации webpack.

Попробуйте обновить node_modules/@angular-devkit/build-angular/src/angular-cli-files/models/webpack-configs/browser.js

Почти в конце файла вы найдете plugins и node обновите значение node (которое должно быть false ) {crypto: true, stream: true, fs: 'empty', net: 'empty'} .

Вы также можете добавить скрипт после установки в package.json для обновления этого файла после установки пакета.