Personalizar plataformas mediante merges
En ocasiones se hace necesario especificar algunos recursos de forma separada para una plataforma. En este caso no deberíamos modificar la carpeta correspondiente de platforms
ya que se sobreescribiría en la próxima compilación.
Con este propósito se creo la carpeta merges
, la cual contiene los assets que se han de copiar o reemplazar para las plataformas especificadas. La estructura de esta carpeta es la siguiente:
En primer lugar tendremos que crear subcarpetas con el mismo nombre que la carpeta de
platforms
que deseemos sobreescribir.Dentro de esa subcarpeta crearemos una estructura espejo a la carpeta
www
, pero únicamente situando los ficheros y carpetas que deseemos reemplazar.
Por ejemplo, el fichero merges/android/css/overrides.css
sobreescribiría el css situado en www/css/overrides.css
pero solamente para la plataforma Android. Si además quisieramos especificar un estilo distinto para la plataforma iOS, podríamos añadir otro CSS en la siguiente ruta de la carepta merges: merges/ios/css/overrides.css
Estos CSS sustituirán al CSS original tras compilar para la plataforma destino. Es importante que siempre exista este fichero en la carpeta www
del proyecto, que en este caso sería www/css/overrides.css
. Este fichero se utilizaría para el resto de plataformas que no hayan sido sobreescritas en merges. En caso de que no exista el fichero (porque siempre queremos que se use el de la carpeta merge) podríamos crear un fichero vacío.
Para utilizarlos en el código del proyecto lo tendremos que hacer de forma normal. Por ejemplo, en este caso, desde el fichero index.html
situado en www/index.html
, podríamos cargar el CSS de forma normal:
Además de CSS, en la carpeta
merges
podemos añadir cualquier otro tipo de recurso que queramos sustituir: html, js, imágenes, etc.
Última actualización