If you are one of the lucky people who are reading this blog article, because your app used to work! After upgrading to the latest NativeScript and enabling the new Workflow your app is now broken...
Well I have some good news... It is easy to get back to a working state.
Here is how you can revert back to using the Legacy Workflow..
First thing, you need to open the
nsconfig.json file in the root of your project. This file is where this key parameter is kept.
nsconfig.json file you will see
"useLegacyWorkflow": true change this to false and save the file.
Then from the CLI; do a
tns platform clean android (if using Android)
tns platform clean ios (if using iOS)
Then you can do a
tns run android or
tns run ios and be back working.
Please note; DO NOT USE
--hmr flags; as this will re-enable HMR and the only reason you are changing this flag is because HMR is already not working for you...
I would recommend you submit a bug report to the nativescript-dev-webpack github repo about your issue; so that it can be tracked. Version 6.0 of NativeScript is supposedly going to disable the Legacy Workflow mode; so it is critical they get all the data they can on what issues you have seen so they can iron them all out...
Common HMR issues with fixes:
- Your page/css/xml/html isn't changing on the device.
- Make sure the name of the files end with "-page". So "main-page.xml" or "cool-page.css"
- Your extra files (like sqlite databases) aren't being synced to the device.
- Edit your webpack.config.js file, and add them to the copy step so that they are bundled up.
Some common broken NativeScript-Core HMR issues:
- Width/Height Specific files are unused (i.e. main-page.HW600.xml doesn't work; only main-page.xml is picked up.)
- Shared NativeScript XML files do not link up to proper event handlers. (Similar to first issue; but a different aspect)
- Some CSS files do not seem to be tracked properly.