Apologies if this has been asked before.
I am new to MeteorJS and I’ve built an application over time to be used by a client by eventually putting it on their website. Over time, I’ve done iterations through milestones.
The issue is, my client is not the most ‘tech-savvy person’ out there, but he still wants to be able to test out the latest build of the app. He also would like the fasted way to set this up, preferably a ‘1-click runnable, like an .exe or something’
Our awkward workaround is currently this:
- I create a bundled application via meteor build
- I put a batch file in the bundle that does the required npm install when run
- I then include another batch file that contains this code:
set MONGO_URL=mongodb://localhost:27017/mydbname
set ROOT_URL=http://localhost:3000
set PORT=3000
start chrome http://localhost:3000/
node .\bundle\main.js
Which basically simulates a ‘1-click executable’ for him.
4. Send him the bundle via Drive link and have him first run the ‘initialize’ file then the run file I showed above.
It was tricky helping him to install the right Node.js files required to run the bundle, but we were able to get it.
Our current issue is that, due to the meteor build requiring so many files, I have to zip the folder up, and even then it still takes him a long time to download it (up to 35MB zipped!) and sometimes the zip doesn’t always work for various reasons.
As such, I’ve been working on a better way to get this runnable file for him. I understand web apps are difficult to make this kind of thing happen due to their nature of being, well, web apps. I’ve scoured online to find a way to do this, some people suggested electron, but getting it to work with meteor seems overly complicated for my relatively inexperienced level. I’ve tried pkg and while I’m able to convert a bundled app to an .exe semi-successfully with it, the file itself does nothing upon trying to run it.
Any suggestions? Or maybe tips on how to use something that I wasn’t able to figure out? I know it’s a long-winded post, I just figured it was better to include details and context instead of omitting too much.
Much appreciations!