브라우저에서 Ionic v3.14.0 하이브리드 앱을 실행하려고하면 "Cordova is undefined"라는 런타임 오류가 발생합니다. 나는 this 게시물의 답변을 다음과 아래이오니아 2 런타임 오류 : 코르도바가 정의되지 않았습니다.
ionic cordova platform add browser
ionic cordova run browser
첫 번째 명령은 위의 내 프로젝트에 Platforms/browser
과 그 아래 폴더 구조를 추가하고 내가 Platforms/browser/www
에서 cordova.js
을 찾을 수 있습니다 명령 실행. 그러나 위의 두 번째 명령을 실행하면 빈 크롬 브라우저 인스턴스가 열리 며 (내 기본값은 IE 임에도 불구하고) 앱을 표시하지 않고 빈 상태로 유지됩니다. 아래는 터미널에서 스택 추적입니다. 이상입니다에서 데이터 service.ts
import { Injectable } from '@angular/core';
import { Http, Response } from '@angular/http';
import 'rxjs/add/operator/map';
declare let cordova:any;
/*
Generated class for the DataServiceProvider provider.
See https://angular.io/guide/dependency-injection for more info on providers
and Angular DI.
*/
@Injectable()
export class DataServiceProvider {
indexSpecs:any[];
soupName = "menuItems";
constructor(public http: Http) {
console.log('Hello DataServiceProvider Provider');
}
getMainMenu(){
return this.http.get('assets/data/mainmenu.json')
.map((response:Response)=>response.json().Categories);
}
getMainMenuItems() {
this.registerSmartStoreSoup();
}
registerSmartStoreSoup() {
this.indexSpecs = [{path:"Name",type:"string"},{path:"Id",type:"string"}];
cordova.require("com.salesforce.plugin.smartstore").registerSoup(this.soupName,this.indexSpecs,this.successCallback,this.errorCallback);
}
successCallback() {
console.log("Soup "+this.soupName+" Created Successfully");
}
errorCallback(err) {
console.log("Error Creating "+this.soupName+":"+err)
}
}
getMainMenuItems() :
PS C:\Data\Per\Biz\Ionic\MyApp> ionic cordova run browser
Running app-scripts build: --platform browser --target cordova
[00:47:27] build dev started ...
[00:47:27] clean started ...
[00:47:27] clean finished in 12 ms
[00:47:27] copy started ...
[00:47:27] deeplinks started ...
[00:47:28] deeplinks finished in 113 ms
[00:47:28] transpile started ...
[00:47:31] transpile finished in 3.71 s
[00:47:31] preprocess started ...
[00:47:31] preprocess finished in 1 ms
[00:47:31] webpack started ...
[00:47:32] copy finished in 4.39 s
[00:47:41] webpack finished in 9.49 s
[00:47:41] sass started ...
[00:47:42] sass finished in 1.40 s
[00:47:42] postprocess started ...
[00:47:42] postprocess finished in 16 ms
[00:47:42] lint started ...
[00:47:42] build dev finished in 15.21 s
> cordova run browser
Error loading cordova-browser
Running command: cmd "/s /c "C:\Data\Per\Biz\Ionic\MyApp\platforms\browser\cordova\build.bat""
Cleaning Browser project
[00:47:46] lint finished in 4.18 s
Running command: cmd "/s /c "C:\Data\Per\Biz\Ionic\MyApp\platforms\browser\cordova\run.bat --nobuild""
Static file server running @ http://localhost:8000/index.html
CTRL + C to shut down
200 /index.html (gzip)
200 /cordova.js (gzip)
200 /build/main.js (gzip)
200 /build/polyfills.js (gzip)
200 /build/main.css (gzip)
200 /cordova_plugins.js (gzip)
200 /plugins/cordova-plugin-device/www/device.js (gzip)
200 /plugins/cordova-plugin-device/src/browser/DeviceProxy.js (gzip)
200 /plugins/com.salesforce/www/com.salesforce.plugin.oauth.js (gzip)
200 /plugins/com.salesforce/www/com.salesforce.plugin.network.js (gzip)
200 /plugins/com.salesforce/www/com.salesforce.plugin.sdkinfo.js (gzip)
200 /plugins/com.salesforce/www/com.salesforce.plugin.smartstore.js (gzip)
200 /plugins/com.salesforce/www/com.salesforce.plugin.smartstore.client.js (gzip)
200 /plugins/com.salesforce/www/com.salesforce.plugin.sfaccountmanager.js (gzip)
200 /plugins/com.salesforce/www/com.salesforce.plugin.smartsync.js (gzip)
200 /plugins/com.salesforce/www/com.salesforce.util.bootstrap.js (gzip)
200 /plugins/com.salesforce/www/com.salesforce.util.event.js (gzip)
200 /plugins/ionic-plugin-keyboard/www/browser/keyboard.js
200 /plugins/com.salesforce/www/com.salesforce.util.exec.js (gzip)
200 /plugins/com.salesforce/www/com.salesforce.util.logger.js (gzip)
200 /plugins/com.salesforce/www/com.salesforce.util.promiser.js (gzip)
200 /plugins/com.salesforce/www/com.salesforce.util.push.js (gzip)
200 /plugins/cordova-plugin-splashscreen/www/splashscreen.js (gzip)
200 /plugins/cordova-plugin-splashscreen/src/browser/SplashScreenProxy.js (gzip)
200 /config.xml (gzip)
404 /screen
200 /build/vendor.js (gzip)
200 /assets/icon/favicon.ico (gzip)
나는 아래
내가 코르도바를 선언 내 TS 파일입니다 index.html을에 <script src="cordova.js"></script>
을 포함했다 의 생성자에서 호출 됨 app.component.ts
constructor(public platform: Platform, public statusBar: StatusBar, public splashScreen: SplashScreen, public dataService: DataServiceProvider) {
this.initializeApp();
this.dataService.getMainMenuItems();
위의 스택 추적에서 출력이 "Error loading cordova-browser"
인 것 같습니다. 그러나 여기에 문제가 확실하지 않습니다. 누군가 제발 나를 도울 수 있습니까?
브라우저에서 응용 프로그램을 실행 하시겠습니까? ionic serve 명령을 시도하십시오. –
@PrithiviRaj : 답변 해 주셔서 감사합니다. 'ionic serve'로 실행하려고하면'Runtime Error : '코드바가 정의되지 않았습니다.'라는 메시지가 나타납니다. – Nat
Cordova 6.5.0으로 업그레이드하여 스택 추적에서 "cordova-browser로드 오류"문제를 해결했습니다. 그러나,'ionic cordova run browser'를 시도 할 때 여전히 Chrome에서 빈 페이지가 표시됩니다 – Nat