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%(而不是$)引用它。说明: