A fork of original Cordova Plugin to integrate browser-sync in the workflow
npm install cordova-plugin-browsersync-gen2www folder and automatically reload HTML and CSS in all connected devices
script-src 'self' 'unsafe-inline'; section inside CSP meta tag () in index.html file. This is really important for browser-sync to refresh browsers.
--live-reload parameter is required to include in cordova run command.
--live-reload flag triggers the live reload workflow. Without this flag, the project remains unchanged. This way, the plugin does not have to be removed before packaging it for final deployment.
cordova plugin add cordova-plugin-browsersync-gen2
`
or
`
cordova plugin add https://github.com/DimitrisRK/cordova-plugin-browsersync-gen2.git
`
and then run the cordova command with --live-reload. Samples:
`
cordova run browser --live-reload
cordova run android --live-reload
cordova run ios --live-reload
cordova run --live-reload (will run project using all platforms)
`
NEW
From now on, plugin supports --live-reload with cordova serve command.
`
cordova serve --live-reload
`
In that case, default static page server will never run and that's how it should be.
*Note: Setting port using Cordova docs format cordova server [port] will not work.
However, you can try setting port using the browser-sync parameter example mentioned below.
Options
In general, plugin supports most of browser-sync parameters (if not all) in --parameter or --parameter=value formats (no need for quotes).
$3
In many cases other hooks may copy over JS, CSS or image assets into folders like www\lib, typically from locations like bower_components. These hooks may run at after_prepare and hence should be ignored in the live reload workflow. To achieve this, run the command as
`
cordova run --live-reload --ignore=lib/*/.*
`
The --ignore commands takes an anymatch compatible destination relative to the www folder.
$3
Sometimes, depending on your network, your OS will report multiple external IP addresses. If this happens, by default browsersync just picks the first one and hopes for the best.
To override this behaviour and manually select which host you want to use for the external interface, use the --host option, for example:
`
cordova run --live-reload --host=192.168.1.1
`
$3
If you need to forward ports from your local computer to the device because the device is not in the same network as your device then you may getting an error or red circle.
If this happens the problem could be the 3000 port. Then you can try another one for example 8090 which should work then.
`
cordova run --live-reload --port=8090
`
$3
If you do not have "index.html" in your config.xml under content node then you need to set this option to the value.
Please use the --index option.
`
cordova run --live-reload --index=content.html
`
$3
If you need https you can enable it with this option.
You can use --https for example.
`
cordova run --live-reload --https
``