Только для тех, кому это может понадобиться ...
Поток expo-cli
вызывает react-native
local-cli
в (node_modules \ реагировать-нативный \ local-cli), который будетпреобразовать код с помощью babel
и упаковать их с помощью metro
.expo-cli
также передает опции упаковщика лайков packagerOpts
в react-native
.
Также эта статья полезна для понимания babel
: https://kleopetrov.me/2016/03/18/everything-about-babel/
В моем конкретном случае я изменяю app.json
вот так:
...
"packagerOpts": {
"assetExts": ["ttf", "tkon"]
},
"assetBundlePatterns": ["./app/config/*.tkon"]
...
, который сообщает упаковщику, что все файлы с расширением .tkon
являются активами.Они будут исключены из окончательного пакета JS и могут потребоваться в качестве актива.
Позже я загружу этот актив с помощью:
let asset = Asset.fromModule(require('../../config/products.tkon'));
await asset.downloadAsync();
let data = await FileSystem.readAsStringAsync(asset.localUri);
data = JSON.parse(data);
Вот и все