说我有很多小应用程序,我是否需要为每个应用程序创建一个create-react-app?或者我可以有一个create-react-app。后者是我的首选,因为我不希望每个应用程序都有单独的node_modules。因为在npm安装之后它就是百兆字节。
如果有可能,我需要使用什么样的锅来创建多个应用程序,这是一个webpack的事情吗?
答案 0 :(得分:1)
要创建新应用,是的,我们每次都需要创建,但是,如果我们希望所有小应用都包含在一个大应用中,则可以将这些小应用开发为“组件”(单独执行)并集成到一个应用中。
答案 1 :(得分:1)
您可以使用环境变量来执行此操作。
以“REACT_APP_”开头的环境变量可通过 process.env.REACT_APP_[NAME]
如果您使用像 WebStorm 这样的 IDE,您可以为每个应用程序创建不同的运行配置,并将环境设置为 REACT_APP_SETUP=app1
例如。
在shell中你可以这样设置:
export REACT_APP_SETUP=app1
npm start
然后你只需在 index.js 中渲染不同的根组件
// in index.js
const setup = process.env.REACT_APP_SETUP;
if (setup == "app1") {
ReactDOM.render(<App1/>,document.getElementById('root'));
} else {
ReactDOM.render(<App2/>,document.getElementById('root'));
}
答案 2 :(得分:0)
当您通过create-react-app创建应用时,您可以从头开始创建一个新的应用。这些应用程序使用单独的配置文件,并不意味着&#34; talk&#34;对彼此。你能做的就是把每个&#34; app.js&#34;将文件放在一个共享的react-app中,然后重新排列这些类以共享其内容(请参阅导入/导出)。但根据我的理解,在一个巨大的应用程序中不可能有多个反应应用程序
答案 3 :(得分:0)
您可以考虑使用react-app-rewired
但是你不会得到create-react-app团队的任何支持,因为它是你自己的配置。 另一个明显的解决方案是弹出。
参考 https://medium.com/@timarney/but-i-dont-wanna-eject-3e3da5826e39