设置环境变量以修改create-react-app的package.json

时间:2018-04-08 09:47:05

标签: npm environment-variables create-react-app package.json

我今天发现在React中使用环境变量,我喜欢它!特别是使用react-router,并以这种方式填充basename组件的<BrowserRouter>属性:

<BrowserRouter basename={`${process.env.REACT_APP_BASENAME}`}>
</BrowserRouter>

很好,但我想在REACT_APP_BASENAME文件中使用变量package.json,因为如您所知,"homepage"中的package.json行定义了{{} 1}} PUBLIC_URL中用作index.html的变量,我希望此%PUBLIC_URL%等于我的PUBLIC_URL变量。我想我需要这样的东西:

REACT_APP_BASENAME

package.json

有可能吗?

2 个答案:

答案 0 :(得分:1)

通过浏览node-modules / react-scripts / config中的一些文件,我在webpack.config文件中发现PUBLIC_URL在HTML文件中以%PUBLIC_URL%的形式提供给应用程序JavaScript中的process.env.PUBLIC_URL

由于目标是能够在JavaScript中使用相同的变量,实际上不需要在任何.env文件中重复相同的路径:只需在package.json中设置{{1你可以在任何地方使用"homepage",HTML或JS。

答案 1 :(得分:0)

您可以像这样使用package.json中的环境变量。

跨平台

{
  "name": "apoc",
  "version": "0.1.0",
  "private": true,
  "homepage": "cross-var echo ${REACT_APP_BASENAME}",
  "dependencies": {....