如何传递参数以做出反应?
How do I pass parameters to react?
我正在尝试将参数传递给我的 React 项目。我用 create-react-app 设置它。
我这样设置package.json:
"main": "index.js",
"scripts": {
"start": "webpack-dev-server --open --mode development",
"build": "webpack --mode production"
},
index.js:
console.log(process.argv)
我启动它并传入我的参数:
yarn start --serverPort=3531
但是 process.argv 只是一个空数组。如何将参数传递给 React 应用程序?
我们真正想要的是定义一个 Environment Variable,我们的 React 实例可以从那个环境中到达,这里我们的是 NodeJS
我们在这里做的:yarn start --serverPort=3531
,是我们正在向 yarn
命令传递一个参数 serverPort
,其值为 3531
。
虽然我们应该做的是声明一个环境变量,例如PORT
,然后在process.env
的帮助下到达它,这将允许我们访问当前使用的环境。
请注意:“按照惯例,环境变量名称应大写。”
我们更改 package.json
中的启动脚本以适应以上内容:
PORT=3000 && webpack-dev-server --open --mode development
然后您可以通过以下方式访问它的值:process.env.PORT // output --> 3000
。
这是一个快速的解决方法,但是,我建议您 read more about setting up environment variables. 像 CRA 文档中那样。
我正在尝试将参数传递给我的 React 项目。我用 create-react-app 设置它。
我这样设置package.json:
"main": "index.js",
"scripts": {
"start": "webpack-dev-server --open --mode development",
"build": "webpack --mode production"
},
index.js:
console.log(process.argv)
我启动它并传入我的参数:
yarn start --serverPort=3531
但是 process.argv 只是一个空数组。如何将参数传递给 React 应用程序?
我们真正想要的是定义一个 Environment Variable,我们的 React 实例可以从那个环境中到达,这里我们的是 NodeJS
我们在这里做的:yarn start --serverPort=3531
,是我们正在向 yarn
命令传递一个参数 serverPort
,其值为 3531
。
虽然我们应该做的是声明一个环境变量,例如PORT
,然后在process.env
的帮助下到达它,这将允许我们访问当前使用的环境。
请注意:“按照惯例,环境变量名称应大写。”
我们更改 package.json
中的启动脚本以适应以上内容:
PORT=3000 && webpack-dev-server --open --mode development
然后您可以通过以下方式访问它的值:process.env.PORT // output --> 3000
。
这是一个快速的解决方法,但是,我建议您 read more about setting up environment variables. 像 CRA 文档中那样。