Comments (10)
200Mb sounds like a lot and you're right. My files are 20Mb and they're not assets, they're part of the code :/ I dont know if that changes anything?
from expo-cli.
Hey, thanks for the well written question. I've pinged a couple people on the team who might have ideas about this.
from expo-cli.
I think the remote API approach may be the best one here given that it'll be in your control. You could also address other things -- like whether you need all the data upfront and whether your client and server can communicate through time to transmit only required chunks as needed. One quick thing you could try is splitting up the single file and using multiple assets -- I've had assets work for 200mb total of images for example where each file was about 3-8mb.
from expo-cli.
+1 to the remote API. This way when you publish a new update to your app, people don't need to redownload all the data as well.
from expo-cli.
I prefer having all the data in the app as it's cheaper for me ;) and most importantly it's less breaking points. Trying to keep the complexity down.
I seem to have found the limit but I'm not sure. I can load all the data if I divide it in files of maximum 2Mb and then import it all back one structure. In this case, if 2Mb is the limit, the complexity is just in the script that creates the database and I'm fine with this.
So there's something to look into, what do you think? I dont know if your time is worth checking that issue since not many of us end up in this situation but at least you know there's something going on there.
Thanks for coming back to me on this one.
from expo-cli.
A 200MB over-the-air update will likely lead to unreliable and potentially costly (ex: data plans) updates for your users. To strike a balance, we (Expo) might need to put a cap of ~10MB on OTA updates and leave bundled assets in standalone apps have no cap -- this seems respectful to users who can see the total app size in the App Store / Google Play and switch to Wi-Fi if they need to.
from expo-cli.
I found I was able to get around this issue in expo v24 by adding a line in my .babelrc
like "ignore": [ "*.json" ]
. But this workaround is no longer effective in expo v25. Seems like it's probably an issue with the way expo interacts with the metro bundler, but hard to tell. See facebook/metro#123 or facebook/metro#111 for instance.
from expo-cli.
Any news on this? The issue with large files has been around for quite some time and
even with bable v7 (where ignore is supposed to work again) does not work for me.
from expo-cli.
cc @fson
from expo-cli.
This is an upstream Metro bundler issue. Nothing we can do in expo-cli
.
from expo-cli.
Related Issues (20)
- "Error: NPM package not found: exp-template-blank-typescript@latest" when using Typescript template HOT 1
- Getting an unexpected token when I try to install expo-cli or npx expo-cli -h HOT 1
- Allow for expo start -i in CI environments HOT 1
- The data couldn't be read because it isn't in the correct format. HOT 1
- Still not able to get CLI to work.... HOT 1
- Node dependencies caming Corrupted HOT 1
- [expo-doctor] Field: experiments - should NOT have additional property 'tsconfigPaths' HOT 1
- Error using templates with a scoped package name
- (doctor) cannot run expo-doctor in GitHub Actions HOT 1
- "Development team for signing the app" not updating HOT 2
- expo-doctor unable to run after upgrading to 49 from 42 HOT 4
- EAS Update not detecting .env files for different environments HOT 5
- Change ADB path in Expo HOT 1
- Build Webhook stopped sending expo-signature header HOT 1
- Error about Xcode not installed when it is actually installed. HOT 1
- No iOS devices available in Simulator.app HOT 1
- Error: xcrun exited with non-zero code: 115 HOT 9
- create-expo-module fails with installing module dependencies HOT 1
- Expo CLI commands have typescript syntax in a .js file HOT 1
- Can somebody help me resolving this error? Facing it while deploying my react native app over AWS Amplify. Cannot find module 'expo/config' HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from expo-cli.