在我的项目中,我需要使用带有create-react-app
的npm模块ipfs-api。
我可以运行npm start
并运行proect。
但是当我尝试使用react-scripts build
构建proect时,它会抛出以下错误
编译失败。
无法缩小此文件中的代码:
./node_modules/ipfs-api/src/utils/module-config.js:7
根据eorror日志中提供的链接中的建议,我尝试使用
"dependencies": {
...
"ipfs-api": "github:atfornes/js-ipfs-api#transpiled",
...
}
而不是"ipfs-api": "^22.0.0",
。虽然这解决了ipfs-api
的错误,但是其他依赖模块(可能与ipfsapi
一起安装)仍然会出现相同类型的Failed to minify
错误,我已经停止手动转发它们。
在使用命令react-scripts build
之前,有没有办法将所有依赖节点模块转换为es5?或者任何其他方法来克服这个问题?
答案 0 :(得分:1)
通常,客户端或平台无关的包在发布时编译为ES5。您遇到此问题可能表明该软件包不适用于客户端。
正如所解释的那样,该软件包包含一个浏览器包,其中包含在客户端运行它所需的polyfilled Node功能(流等)。
它应该被用作全球:
import 'ipfs-api/dist';
ipfs(...)
在使用命令react-scripts build之前,有没有办法将所有依赖节点模块转换为es5?
这需要弹出create-react-app配置并配置Webpack以正确地转换此包。文档中的the documentation显示了如何将特定于节点的部分配置为为浏览器捆绑。