Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Web包将变量传递到启动/生成脚本中_Javascript_Node.js_Reactjs_Webpack - Fatal编程技术网

Javascript Web包将变量传递到启动/生成脚本中

Javascript Web包将变量传递到启动/生成脚本中,javascript,node.js,reactjs,webpack,Javascript,Node.js,Reactjs,Webpack,我有一个React应用程序,部署时内置在Docker容器中。一切正常,没有问题。我有一个.env文件用于开发,其中包含一个API\u URL变量,还有一个.env.prod文件用于部署另一个API\u URL。.env文件直接在start/build脚本中传递,如下所示(对于warn start): 因此,API\u URL变量位于该脚本中使用的.env文件中。我的问题是-我能否以某种方式将变量传递给纱线开始或纱线构建?当我尝试直接在脚本中添加变量进行测试时,它没有被选中,比如:“start”:

我有一个React应用程序,部署时内置在Docker容器中。一切正常,没有问题。我有一个.env文件用于开发,其中包含一个
API\u URL
变量,还有一个.env.prod文件用于部署另一个
API\u URL
。.env文件直接在start/build脚本中传递,如下所示(对于
warn start
):


因此,
API\u URL
变量位于该脚本中使用的.env文件中。我的问题是-我能否以某种方式将变量传递给
纱线开始
纱线构建
?当我尝试直接在脚本中添加变量进行测试时,它没有被选中,比如:
“start”:“cross-env-NODE\u-env=development-API\u-URL=“my-API-URL”env-cmd.env-NODE-server”

用法正确,只是覆盖了该键

您应该使用
--no override
标志,这样它就不会被覆盖


最后一行应该是:
API\u URL=“myapi URL”env\u cmd.env——无覆盖节点服务器“

这听起来像是解决了我一半问题的方法-我仍然需要一种直接从终端传递变量的方法。伪代码:
纱线开始变量=值
。因此,如果我在package.json中向脚本本身添加
--no override
,是否可以通过某种方式从终端传递变量?我尝试了:
cross-env variable=value-warn start
,但它没有被拾取,我忘了将新变量添加到
process.env
。使用
--无覆盖
标志的解决方案是正确的。最重要的是,上面的线路直接从终端开始工作。
"start": "cross-env NODE_ENV=development env-cmd .env node server"