Объединение рабочего процесса в expo response-native - PullRequest
0 голосов
/ 10 октября 2018

Каковы этапы процесса упаковки / упаковки?Я знаю, что есть expo-cli, babel, metro ... но не понимаю, как они называют друг друга для создания окончательного пакета javascript.

Любые идеи или направления?

P / S: в конкретном случае я хочу игнорировать некоторые файлы из комплекта, но не знаю, где это настроить.

1 Ответ

0 голосов
/ 15 октября 2018

Только для тех, кому это может понадобиться ...

Поток 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);

Вот и все

...