angular - Comprobar si se está ejecutando como "ionic serve" para usar una condicional en el programa
¿Hay una manera de detectar que ionic serve CLI está ejecutándose (y entonces no en un dispositivo real) en el programa y usarlo como condicional?
Mi problema: Tengo un plugin de Cordova que devuelve una respuesta a Cordova.
Cuando estaba usando Ripple, ofrecía elegir el valor del callback que se enviaría de vuelta a JavaScript (para emular el resultado del plugin).
Noto que Ionic2 no hace eso cuando ejecuto en un navegador. Así que, para facilitar mi desarrollo y poder probarlo en un navegador (y no compilar constantemente para el dispositivo real), me gustaría poder verificar en el programa si la CLI ionic serve se está ejecutando. En otras palabras: Comprobar si se está ejecutando en un dispositivo real o en un navegador común.
Si se ejecuta en el navegador, entonces usaría un aviso para pedir al usuario que ingrese un valor ficticio para el resultado del plugin de Cordova en lugar del plugin real de Cordova.
Respuesta #1
Ver la documentación de la Plataforma:
Verifica si se está ejecutando en un dispositivo real o en un navegador normal.
Puedes usar la información de la plataforma para hacerlo:
Platform Name Description
android on a device running Android.
cordova on a device running Cordova.
core on a desktop device.
ios on a device running iOS.
ipad on an iPad device.
iphone on an iPhone device.
mobile on a mobile device.
mobileweb in a browser on a mobile device.
phablet on a phablet device.
tablet on a tablet device.
windows on a device running Windows.
Así que puedes hacer algo como esto:
import { Platform } from 'ionic-angular';
@Component({...})
export MyPage {
constructor(public platform: Platform) {
if (this.platform.is('mobileweb') || this.platform.is('core')) {
// This will only print when running on desktop
console.log("I'm a regular browser!");
}
}
}
