Сначала подготовить окружение согласно инструкции https://facebook.github.io/react-native/docs/android-building-from-source.html
Важно поставить в Android SDK следующие пакеты: Google Play Services (Extras), Google Repository (Extras).
Рекомендуется использовать пакет genymotion для запуска андроида. Там все довольно просто, ставится genymotion (лицензия для перс. использования). Далее по шагам:
npm run native
.react-native run-android
. При этом нужно дождаться, когда
в предыдущей команде закончит собираться typescript и начнется сборка пэкеджером нэйтива. А то он увидит, что сервер
не поднят и попробует в отдельной консоли его запустить. Если это случилось, нужно закрыть лишнюю консоль.Все по аналогии с android. Только симулятор ставить отдельно не нужно, его обеспечивает XCode. И ставить билд
на телефон нужно командой react-native run-ios
.
Для запуска эмулятора в другой версии iOS нужно:
react-native run-ios --simulator "%devicename%"
react-native run-ios --simulator "iPhone 6 9.3"
react-native run-ios --simulator "iPhone 6 10.1"
В основном все сделано в соответствии с инструкцией https://facebook.github.io/react-native/docs/signed-apk-android.html Gradle настроен таким образом, чтобы при сборке подписанного приложения брать ключи из Keychain access для пользователя ugputu. Поэтому пока собирать конечное приложение можно только с одной машины.
В папке android проекта запускаем ./gradlew assembleRelease
В папке проекта запускаем react-native run-android --variant=release
Пока делает Давид на своей машине.
Команда для профилирования:
webpack --config project/webpack.config.coffee --app facade --profile --progress --stats --display-chunks --display-modules --json > profile.json
В dev-server.coffee
изменить настройки для webpack-dev-middleware
следующим образом:
1 2 3 4 5 6 | app.use(require('webpack-dev-middleware')(compiler,
noInfo: false
quite: false
publicPath: config.output.publicPath
# stats: 'errors-only'
))
|
Дальше запустить разработческий сервер npm start -- --app master
и посмотреть на строчки,
которые начинаются с /~/
— эти модули и есть кандидаты на вынос в DLL.
До | Hot | После | Hot | |
---|---|---|---|---|
admin | ||||
facade | 18 | 4.9 | 8.5 | 1.0 |
master | 44 | 7.8 | 31 | 3.1 |