And to update, I’ve discovered the Safari method of using the Develop menu and inspector within, but it also produces a many monaca://log? entries, but no clear logs in the console like I get with Preview.
@humblecoder I don’t think you can test Cordova plugins such as that one in the browser. I tried on a device and ondeviceready fired as it should have, I just placed the listener in my main.js so maybe you can try to load sqlite from there.
@gg4u I’m not sure what you mean by “without refactoring in components and templates”, do you have your 5k lines in one single file?
Anyway I’d suggest you use Monaca. You can use the CLI to start a minimum project, just open the command line and runnpm install -g monaca followed by monaca create "your_project_name" and select Onsen UI and Onsen UI V2 JS Minimum. From there you can just add your HTML and link to your JS files and libraries in the www/index.html file.
@humblecoder The navigator is the component that makes possible having animations, pushing events and having a “stack” of pages (i.e. enabling pop to the last page). It is a simplified router adapted to mobile navigation patterns.
You can put your pageStack array (name it however you want) in any place as long as you give it to the navigator. After that, it is all a matter of component communication in Vue. You can use events, props or anything as long as you are able to push and pop pages from that array. Component communication in Vue might be a bit complex in some patterns, that’s why they provide Vuex. For example, you can place pageStack in Vuex, making it “global” and accessible from any other component via mutations.
If you don’t want Vuex, simply provide a way to modify the pageStack in the parts of your app where you need to push/pop pages. In the example you said, you have a page with a list of items and you want to push a new page on item click. Therefore, your page with the list must have access somehow to the pageStack in order to push a new page. There are many ways to do that in Vue:
v-for="page in myPageStackArray"
Your list page should implement props: ['pages'] (you can change the prop name, it’s your prop). Then, in your list, @click="pages.push(newImportedVueComponentPage)".
Or, you can also use events instead:
v-for="page in myPageStackArray"
This way you don’t need any prop in your list array, simply run @click="$emit('push', newImportedVueComponentPage)" – You can change the event name, it’s your event.
Another way, if you are ok with using this.$parent (might not be recommended in Vue’s guide), you can simply run this.$parent.pageStack.push(...), since the $parent is the v-ons-navigator and it gets a pageStack prop.
You could even define a property in Vue’s prototype to make it available in every instance: Vue.prototype.$pageStack = ; and then pass it to the navigator <v-ons-navigator :page-stack="$pageStack">. You can call this.$pageStack.push(...) wherever you want.
It is all a matter of component communication in Vue, so make sure you understand how it works.
I resolved the issue. There was an additional error lower with a problem with access to the keystore. Nothing I could do to fix this until I exported the project, deleted the project, then imported the zip file as a new project. Then all the errors went away.