如何传递参数进行反应?

Ric*_*ale 6 npm reactjs create-react-app

我正在尝试将参数传递给我的反应项目。我用 create-react-app 设置它。

我像这样设置 package.json :

  "main": "index.js",
  "scripts": {
    "start": "webpack-dev-server --open --mode development",
    "build": "webpack --mode production"
  },
Run Code Online (Sandbox Code Playgroud)

索引.js:

console.log(process.argv)
Run Code Online (Sandbox Code Playgroud)

我启动它并传入我的参数:

yarn start --serverPort=3531
Run Code Online (Sandbox Code Playgroud)

但 process.argv 只是一个空数组。如何将参数传递给反应应用程序?

Sul*_* H. 3

我们真正想要的是定义一个环境变量,我们的 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

这是一个快速的解决方法,但是,我建议您阅读有关设置环境变量的更多信息。如 CRA 文档中所述。