我想尝试expo以加快开发速度。
据说如果使用expo,则不能使用本机模块。
但是,如果您FactoryBot.define do
factory :user, class: "User" do
email { Faker::Internet.email }
password { "bla" }
password_confirmation { "bla" }
end
factory :car, class: "Car" do
color { "black" }
association :user, factory: :user
end
factory :truck, class: "Truck" do
size { "15" }
association :user, factory: :user
end
factory :bike, class: "Bike" do
style { "road" }
association :user, factory: :user
end
factory :listing, class: "Listing" do
for_car # default
trait :for_car do
association :listable, factory: :car
end
trait :for_truck do
association :listable, factory: :car
end
trait :for_bike do
association :listable, factory: :car
end
end
factory :firm, class: "Firm" do
for_car # default
trait :for_car do
association :listable, factory: :car
end
trait :for_truck do
association :listable, factory: :car
end
trait :for_bike do
association :listable, factory: :car
end
end
factory :store, class: "Store" do
for_car # default
trait :for_car do
association :listable, factory: :car
end
trait :for_truck do
association :listable, factory: :car
end
trait :for_bike do
association :listable, factory: :car
end
end
end
或使用eject
模式,似乎可以使用本机模块。 (不确定它们是否相同)
或者似乎甚至可以从RN-cli开始并添加博览会功能。
最终我们能做的都一样吗?
apk大小如何?是否可以通过从RN-cli开始并在其顶部添加Expo或弹出来减少20-25M的文件大小?
答案 0 :(得分:0)
我不认为您可以做到25M文件大小。 但是,如果您需要expo功能以及Native功能,我会给您一个很好的解决方案。
您可以尝试通过Expo进行最基本的设置。
它将要做的是,它将使用react-native init
创建一个unimodules
项目。
Unimodules
将可以使用一些基本的博览会功能,例如permissions
等。
将来,如果您想添加其他博览会功能(支持裸应用程序)。
您可以轻松地添加它们。
在expo docs中,您可以检查裸机应用程序中哪些功能可用,哪些功能不可用。
我主要担心的是,裸露的应用尚不支持expo的后台任务。
我总是以此启动我的应用程序。但不利的一面是该应用程序的大小约为30-35mb,
您仍然可以尝试将其最小化
https://medium.com/@aswinmohanme/how-i-reduced-the-size-of-my-react-native-app-by-86-27be72bba640
答案 1 :(得分:0)
Expo具有expo.io提供的一组软件包。使用expo构建的应用具有更大的apk大小,因为我们还捆绑了甚至没有使用过的软件包。这些是expo附带的软件包
https://github.com/expo/expo/tree/master/packages
减小apk大小的最佳解决方案是从构建没有expo的应用程序开始,然后仅添加所需的依赖项。如果您的项目需要EXPO功能,则可以使用Expo Kit
https://docs.expo.io/versions/latest/expokit/expokit/
谢谢