Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/422.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 如何在Docker命令中使用NPM包配置变量?_Javascript_Node.js_Docker_Npm - Fatal编程技术网

Javascript 如何在Docker命令中使用NPM包配置变量?

Javascript 如何在Docker命令中使用NPM包配置变量?,javascript,node.js,docker,npm,Javascript,Node.js,Docker,Npm,我有一个package.json文件,其中包含一个应用程序端口的config变量: package.json ... "config":{ "port": "3000" }, ... 我还定义了一个脚本来运行docker映像。现在,我想在运行docker映像的命令中使用config变量。从中我可以看到如何使用npm配置变量。因此,我的脚本变成: package.json(同一个) 但是,变量端口从不插值。相反,我在运行Docker时收到一个错误: 无效的containerPort:$npm

我有一个
package.json
文件,其中包含一个应用程序端口的
config
变量:

package.json

...
"config":{
  "port": "3000"
},
...
我还定义了一个
脚本来运行docker映像。现在,我想在运行docker映像的命令中使用config变量。从中我可以看到如何使用npm配置变量。因此,我的脚本变成:

package.json(同一个)

但是,变量
端口
从不插值。相反,我在运行Docker时收到一个错误:

无效的containerPort:$npm\u package\u config\u port

问题

...
"config":{
  "port": "3000"
},
...
如何通过npm脚本在docker命令中使用npm变量


谢谢

我已经在节点4.7.3和npm 2.15.11中尝试过这一点

package.json

{
  "config": {
    "port": 3000
  },
  "scripts": {
    "start": "echo $npm_package_config_port"
  }
}
{
  "config": {
    "port": 3000
  },
  "scripts": {
    "start": "env"
  }
}
尝试运行
npm start
,它应该输出端口3000。 如果不起作用,请尝试以下package.json

{
  "config": {
    "port": 3000
  },
  "scripts": {
    "start": "echo $npm_package_config_port"
  }
}
{
  "config": {
    "port": 3000
  },
  "scripts": {
    "start": "env"
  }
}
这将输出所有环境变量,您可以检查端口变量是否可用


我不确定,但是与您正在使用的版本相比,环境变量支持可以添加一个更新的node/npm版本。粘贴
node-v
npm-v
的输出,以便我们检查。

您是否在windows上运行?NPM配置变量使用引擎盖下的环境变量。如果是这样,您可能希望尝试使用%VAR\u NAME%(而不是$)引用它。说明: