我今天发现在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
有可能吗?
答案 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": {....