我有一个离子应用程序,我想同时在浏览器和移动设备上运行。我正在尝试添加一些条件以仅导入本机组件(如果我们是移动设备或移动设备的最佳方式)。
import { Component } from "@angular/core";
import { IonicPage, NavController, NavParams } from "ionic-angular";
import { AppVersion } from "@ionic-native/app-version";
@IonicPage()
@Component({ selector: "page-more", templateUrl: "more.html" })
export class MorePage {
constructor(
public navCtrl: NavController,
public navParams: NavParams,
private appVersion: AppVersion;
) {
this.appVersion.getVersionNumber().then(ver => {
this.appVerStr = ver;
});
}
在上面的示例中,我只想在移动设备上导入AppVersion,因为它不适用于浏览器,我会收到cordova_not_found错误
答案 0 :(得分:1)
否,很遗憾,您不能有条件地导入库..您可以执行以下操作:导入库,同时将其注入构造函数和基于平台(this.platform.is('browser')
或在您的情况下创建一个函数,{ {1}}),您可以编写代码。
不用担心内存的使用。.angulartreeshaker会自动为您删除未使用的代码:)
更新:
this.platform.is('android')
答案 1 :(得分:-1)
Cordova仅在设备上执行,而不在浏览器中执行。在浏览器中查看生成时避免错误的方法是将Cordova命令包装在平台if语句中。例如:
<r1 c1=\"01\" c168=\"<A_ATTR><Updates A_VALUE="959" /><Current A_VALUE="100" /></A_ATTR>\"/>
<r1 c1=\"01\" c168=\"<A_ATTR><Updates A_VALUE="959" /><Current A_VALUE="100" /></A_ATTR>\"/>