Buscar..


Observaciones

Las pruebas de funciones de dispositivos nativos como Cámara, Vibración y otras, muchas de las cuales se encuentran en la documentación de Ionic Native , no se pueden realizar en el navegador. Esta es una limitación inherente al hecho de que Cordova, la plataforma de la que depende Ionic para poder acceder a las API nativas de Android, iOS y Windows Mobile de un dispositivo, no puede ejecutarse en el navegador.

Se puede solucionar este problema simulando la funcionalidad del complemento nativo.

Ejemplo

Aquí hay un ejemplo de cómo simular el complemento de la Camera :

Continúe y cree una carpeta opcional en la carpeta raíz de su proyecto.

cd src
mkdir mocks 
cd mocks 
touch camera-mock.ts 

Abra camera-mock.ts y copie y pegue el siguiente código:

export class CameraMock {
    getPicture(params) {
        return new Promise((resolve, reject) => {
            resolve("BASE_64_IMAGE_DATA");
        });
    }
}

A continuación, abra src/app.module.ts e importe la clase simulada "

import { CameraMock } from "../mocks/camera-mock";

Luego agréguelo a la matriz de proveedores de módulos:

@NgModule({
declarations: [
    MyApp,
    HomePage
],
imports: [
    BrowserModule,
    IonicModule.forRoot(MyApp)
],
bootstrap: [IonicApp],
entryComponents: [
    MyApp,
    HomePage
],
providers: [
    StatusBar,
    SplashScreen,
    CameraMock,
    {provide: ErrorHandler, useClass: IonicErrorHandler}
]
})
export class AppModule {}

Ahora puedes usarlo en cualquier componente después de importarlo.

Pruebas en un navegador

Utilice el ionic serve para iniciar un servidor de desarrollo local para el desarrollo y la prueba de aplicaciones. Esto es útil tanto para la prueba del navegador de escritorio como para la prueba dentro de un navegador de dispositivo que está conectado a la misma red. Además, este comando inicia LiveReload, que se utiliza para monitorear los cambios en el sistema de archivos. Tan pronto como guarde un archivo, el navegador se actualizará automáticamente. Eche un vistazo a los documentos de Sass si también desea que el ionic serve vea los archivos de Sass del proyecto.

$ ionic serve [options]

Para el navegador Chrome puede inspeccionar dispositivos (AVD o móviles), escriba el siguiente comando en la barra de direcciones del navegador Chrome.

chrome://inspect/#devices  

LiveReload

Por defecto, LiveReload observará los cambios en su directorio www/ , excluyendo www/lib/ . Para cambiar esto, puede especificar una propiedad watchPatterns en el archivo ionic.project que se encuentra en la raíz de su proyecto para ver (o no ver) cambios específicos.

{
  "name": "myApp",
  "app_id": "",
  "watchPatterns": [
    "www/js/*",
    "!www/css/**/*"
  ]
}

Para obtener una referencia sobre la sintaxis de patrón global , revise los patrones globales en el sitio web Grunt.

Nota:

$ ionic setup sass

agregará una watchPatterns con los valores predeterminados a su archivo ionic.project que luego puede editar, además de la propiedad gulpStartupTasks como se describe en la documentación de Sass .

Laboratorio Iónico

Ionic Lab http://ionicframework.com/img/blog/lab.png

Ionic Lab es una característica del ionic serve que facilita la prueba de su aplicación en el marco de un teléfono y con las plataformas iOS y Android una al lado de la otra. Para usarlo, solo ejecuta

$ ionic serve --lab

Lea el anuncio de la versión completa para todos los detalles!

Especificando una dirección IP para usar

Diga que desea especificar a qué dirección se conectará su navegador, por ejemplo, para pruebas o usuarios externos. Especifique la dirección con el argumento --address .

$ ionic serve --address 68.54.96.105

Proxies de servicio

El comando serve puede agregar algunos proxies al servidor http. Estos proxies son útiles si está desarrollando en el navegador y necesita hacer llamadas a una API externa. Con esta función, puede enviar una solicitud de proxy a la api externa a través del servidor http iónico, evitando que el No 'Access-Control-Allow-Origin' header is present on the requested resource error de No 'Access-Control-Allow-Origin' header is present on the requested resource .

En el archivo ionic.project puede agregar una propiedad con una matriz de proxies que desee agregar. Los proxies son objeto con dos propiedades:

  • path : cadena que se comparará con el comienzo de la URL de solicitud entrante.
  • proxyUrl : una cadena con la URL de donde debe ir la solicitud de proxy.
{
  "name": "appname",
  "email": "",
  "app_id": "",
  "proxies": [
    {
      "path": "/v1",
      "proxyUrl": "https://api.instagram.com/v1"
    }
  ]
}

Usando la configuración anterior, ahora puede hacer solicitudes a su servidor local en http://localhost:8100/v1 para que las solicitudes de proxy sean https://api.instagram.com/v1

Por ejemplo:

angular.module('starter.controllers', [])
.constant('InstagramApiUrl', '')
// .constant('InstagramApiUrl','https://api.instagram.com')
//In production, make this the real URL

.controller('FeedCtrl', function($scope, $http, InstagramApiUrl) {

  $scope.feed = null;

  $http.get(InstagramApiUrl + '/v1/media/search?client_id=1&lat=48&lng=2.294351').then(function(data) {
    console.log('data ' , data)
    $scope.feed = data;
  })

})

Vea también esta esencia para más ayuda.

Indicadores de línea de comando / opciones

[--consolelogs|-c] ......  Print app console logs to Ionic CLI
[--serverlogs|-s] .......  Print dev server logs to Ionic CLI
[--port|-p] .............  Dev server HTTP port (8100 default)
[--livereload-port|-i] ..  Live Reload port (35729 default)
[--nobrowser|-b] ........  Disable launching a browser
[--nolivereload|-r] .....  Do not start live reload
[--noproxy|-x] ..........  Do not add proxies


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow