Я хочу сделать ионное веб-приложение для Android и iOS.Поэтому я установил модуль узла webdav и создал новую страницу входа.В свой login.ts я добавил модуль следующим образом:
import * as WebDAV from 'webdav';
@Component({
selector: 'page-login',
templateUrl: 'login.html'
})
export class LoginPage {
cunstructor() {
var webdav = WebDAV; // On this code snippet the error appears
}
}
Когда я пытаюсь получить доступ к модулю, я получаю ошибку
undefined is not an object (self.fetch.bind)
Вот скриншот: undefinedне является объектом (self.fetch.bind)
Эта ошибка появляется только в эмуляторе iOS, но не в Android.После я уже попробовал:
- Поиск таких же или похожих проблем
- Переустановил все node_modules
- Переустановил plugova plugins
- Импорт модуля webdav с
require()
- Удалены все ненужные страницы в моем проекте
Информация об окружении:
Ionic:
- Ionic CLI: 4.1.2
- Ionic Framework: ионно-угловой 3.9.2
- @ ionic / app-scripts: 3.2.0
Cordova:
- Cordova CLI: 8.1.1
- Платформы Cordova: ios 4.5.5
- Плагины Cordova:
- cordova-plugin-ionic-keyboard 2.1.3
- cordova-plugin-ionic-webview 2.2.0
- cordova-plugin-device
- cordova-plugin-splashscreen
- cordova-statusbar
- cordovaбелый список
Система:
- NodeJS: v8.12.0
- npm: 6.4.1
- ОС: OS X El Capitan
- XCode: XCode 8.2.1 Версия сборки 8C1002
Кто-нибудь знает, как можно исправить эту ошибку?
РЕДАКТИРОВАТЬ:
Я обнаружил, что проблема происходит в узле-fetch / browser.js:
"use strict";
module.exports = exports = self.fetch;
// Needed for TypeScript and Webpack
exports.default = self.fetch.bind(self);
exports.Headers = self.Headers;
exports.Request = self.Request;
exports.Response = self.Response;
Я нашел несколько статей и проблем по ReactNative Repo и т. д. Но эти обходные пути не помогли мне.Также прокомментируйте, что все не работает.
Может быть, у кого-то есть идея?