You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改Metro Bundler的入口文件,指定React Native项目启动路径?

修改Metro Bundler入口文件的几种实用方法

1. 启动时直接指定入口参数

不想改配置的话,启动Metro的时候直接加--entry-file参数就行。比如你的目标入口是src/app2/index.js,执行:

npm run start -- --entry-file src/app2/index.js

用yarn的话就改成:

yarn start --entry-file src/app2/index.js

这样Metro会直接加载你指定的入口,热重载也会基于这个文件正常工作。

2. 固定修改package.json的启动脚本

如果每次手动加参数嫌麻烦,直接改package.json里的启动脚本:

"scripts": {
  "start": "react-native start --entry-file src/app2/index.js",
  // 其他脚本保持不变
}

之后跑npm run start就自动用你设置的入口了。

3. 自定义Metro配置(适合频繁切换多入口)

要是需要经常换不同的入口,建个metro.config.js配置文件,在里面指定入口:

const { getDefaultConfig, mergeConfig } = require('@react-native/metro-config');

const customConfig = {
  entryFile: 'src/app2/index.js'
};

module.exports = mergeConfig(getDefaultConfig(__dirname), customConfig);

保存之后重启Metro就生效,要换入口的话直接改这里的entryFile路径就行。

4. Android端配套调整(嵌入原生项目时)

因为你的RN是集成在Android项目里的,还要确认原生端配置匹配:

  • 找到MainApplication.java或者MainApplication.kt,检查getJSMainModuleName方法,返回的路径要和你指定的入口对应(比如入口是src/app2/index.js,就返回src/app2/index)。
  • 或者在项目的build.gradle里加这段配置:
project.ext.react = [
    entryFile: "src/app2/index.js"
]

这样Android运行或打包时也会对应正确的入口文件。

别忘了改完之后重启Metro服务,热重载才能正常识别新的入口。

内容的提问来源于stack exchange,提问作者rohit garg

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 05:30:02