0.57.1-beta • Published 3 years ago
metro-config-merge v0.57.1-beta
58不支持npm发布测试包
npm publish --tag beta --registry https://registry.npmjs.org
中台维护生成 示例
// 中台生成 common.path.ios.json common.path.android.json
"build:ios:json": "react-native bundle --platform ios --entry-file ./App/index.js --bundle-output common.path.ios.json --dev false",
"build:android:json": "react-native bundle --platform android --entry-file ./App/index.js --bundle-output common.path.android.json --dev false",
// 中台生成 common.ios.bundle common.android.bundle 内置所有App
"build:ios:common": "react-native bundle --platform ios --entry-file ./App/index.js --bundle-output common.ios.bundle --dev false",
"build:android:common": "react-native bundle --platform android --entry-file ./App/index.js --bundle-output common.android.bundle --dev false",
// 热更新平台 构建执行脚本 - 项目
"build:ios:busine": "react-native bundle --platform ios --entry-file ./App/index.js --bundle-output buz.ios.bundle --dev false",
"build:android:busine": "react-native bundle --platform android --entry-file ./App/index.js --bundle-output buz.android.bundle --dev false",
// 热更新平台 构建执行脚本 - 组件
"build:ios:requireEnsure": "react-native bundle --platform ios --entry-file ./App/ASD.js --bundle-output __requireEnsure__.ios.bundle --dev false",
"build:android:requireEnsure": "react-native bundle --platform android --entry-file ./App/ASD.js --bundle-output __requireEnsure__.android.bundle --dev false",
版本维护说明
// RN升级 导致预设升级 请务必更改大版本 以防止业务线^自动升级导致的不兼容
RN57 "0.57.x",
RN64 "1.64.x",
// package.json
"peerDependencies": {
"react-native": "0.57.8",
"metro-config": ">=0.48.0"
}
使用示例
// 下载符合RN版本对应版本的 metro-config-merge
// package.json
"platformMergeMetroConfig": true,
"dev": "npm start",
"start": "cross-env NODE_ENV=development react-native start",
// metro.config.js
const { essentialMerge } = require('metro-config-merge')
// essentialMerge 会做基本的校验 但仍需在热更新平台打包预览后 才能确定合并是否真的没有问题
module.export = process.env.NODE_ENV === 'development' busine : essentialMerge(busine)
注意问题
- RN57版本通过 package.json platformMergeMetroConfig 字段区分是否启用 RN64版本默认开启
- 该Merge应该仅用于热更新平台 而非本地调试