以下是我面临的两个错误(图片) 我正在使用Ionic 4。 一切正常,但是一旦我开始调用WooCommerce API并在构造函数中使用它,就会出现以下两个错误。
答案 0 :(得分:1)
您似乎正在使用this package,该警告已过时:
- 2019-07-29:此客户端已过时,将不再接收更新,新的JavaScript库以@ woocommerce / woocommerce-rest-api的名称提供。
但是,这是一个node.js包。之所以失败,是因为fs
代表文件系统,并且在浏览器中不存在。
Node.js用于本地开发,而不是用于浏览器软件包,这是Ionic 4的构建基础。
但是,如果您真的想使用它,那么本指南将向您展示如何使用browserify进行包装:
将Node.js模块转换为浏览器库
解决方案是使用Browserify将模块及其所有依赖项捆绑在一个JavaScript文件中,因此我们不需要Ionic 4使用的Cordova Webview(无头浏览器)中不可用的任何外部Node.js依赖项。
https://www.techiediaries.com/woocommerce-ionic-2/
我不知道您将获得Ionic 2的帮助,但我只是向您展示这一点,以证明node.js软件包不适用于Ionic。
根据您的评论,您说您在定义全局变量时遇到问题。
搜索Google似乎已解决问题,请尝试:
我认为目前最好的选择是包括
(window as any).global = window;
在您的polyfills.ts文件中,如下所述: angular/angular-cli#9827 (comment)
答案 1 :(得分:0)
您必须转到\node_modules\@angular-devkit\build-angular\src\angular-cli-files\models\webpack-configs\browser.js
到文件夹node: false
并替换 node: { crypto: true, stream: true, fs: "empty", net: "empty", tls: "empty" },
它对我有用。