Используйте модули npm, написанные на ES6, с реактивными скриптами - PullRequest
0 голосов
/ 26 мая 2018

В моем проекте мне нужно использовать модуль npm ipfs-api с create-react-app.

Я могу запустить npm start и запустить проект.

Но когда я пытаюсь построить проект с react-scripts build, он выдает следующую ошибку

Не удалось скомпилировать.

Не удалось минимизировать код из этого файла:

./node_modules/ipfs-api/src/utils/module-config.js:7

Подробнее здесь: https://github.com/facebook/create-react-app/blob/master/packages/react-scripts/template/README.md#npm-run-build-fails-to-minify

В соответствии с предложениями в предоставленной ссылке в журнале ошибок, я попытался использовать,

"dependencies": {
     ...
     "ipfs-api": "github:atfornes/js-ipfs-api#transpiled",
     ...
}

вместо "ipfs-api": "^22.0.0",.Хотя эта ошибка решена для ipfs-api, другие зависимые модули (возможно, установленные с ipfsapi) продолжали выдавать ошибки того же типа Failed to minify, которые я прекратил переносить вручную.

Есть ли способ транслировать всезависимых узловых модулей до es5, пока перед использованием команды react-scripts build?Или любой другой способ преодолеть эту проблему?

1 Ответ

0 голосов
/ 26 мая 2018

Обычно клиентские или платформо-независимые пакеты компилируются в ES5 при публикации.Если у вас возникла эта проблема, это может указывать на то, что пакет не предназначен для клиентской стороны.

Как объясняет документация *1003*, пакет содержит пакет для браузеров, включающий функции полиузла Node (потоки,и т. д.), которые необходимы для запуска на стороне клиента.

Предполагается, что он будет использоваться как глобальный:

import 'ipfs-api/dist';

ipfs(...)

Есть ли способ транслировать все зависимые узлымодули до es5 пока перед использованием команды реагировать-скрипты строят?

Для этого потребуется удалить конфигурацию create-реагировать на приложение и настроить Webpack для правильной передачи этого пакета. Этот пример из документации показывает, как специфичные для узла узлы должны быть настроены для связывания для браузеров.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...