打印 Node 命令行参数时,为什么要删除正斜杠?
When printing Node command line arguments, why are forward slashes being removed?
在 Node 命令中,我传递了两个参数——每个参数都是一个文件名。当我使用 console.log(process.argv)
将命令行参数打印到控制台时,最后一个参数在路径中缺少斜线分隔符。任何想法为什么,或者如何解决这个问题?这是输出。
[
'C:\Program Files\nodejs\node.exe',
'c:\Users\66851\development\projectb\file-changed.js',
'c:Users66851developmentprojectbtest-file.js'
]
详情
详细的说,Node命令其实是一个运行扩展名为VSCode的命令:Run on Save,它执行的文件(file-changed.js
)包含前面提到的 console.log 命令。我已经在他们的 GitHub 仓库中发布了这个问题,但没有得到回复。本例中的 运行 on Save 设置为:
"emeraldwalk.runonsave": {
"shell": "C:/Program Files/Git/bin/bash.exe",
"commands": [
{
"cmd": "node file-changed.js ${file}"
},
]
},
注意事项
我有一个 单独的 节点项目,其配置与 运行 on Save 扩展相同。在该项目中不存在此问题。
我找到问题的原因了。这是由于我的 settings.json
文件中的这一行:
"shell": "C:/Program Files/Git/bin/bash.exe",
删除它后,我的问题就消失了。
在 Node 命令中,我传递了两个参数——每个参数都是一个文件名。当我使用 console.log(process.argv)
将命令行参数打印到控制台时,最后一个参数在路径中缺少斜线分隔符。任何想法为什么,或者如何解决这个问题?这是输出。
[
'C:\Program Files\nodejs\node.exe',
'c:\Users\66851\development\projectb\file-changed.js',
'c:Users66851developmentprojectbtest-file.js'
]
详情
详细的说,Node命令其实是一个运行扩展名为VSCode的命令:Run on Save,它执行的文件(file-changed.js
)包含前面提到的 console.log 命令。我已经在他们的 GitHub 仓库中发布了这个问题,但没有得到回复。本例中的 运行 on Save 设置为:
"emeraldwalk.runonsave": {
"shell": "C:/Program Files/Git/bin/bash.exe",
"commands": [
{
"cmd": "node file-changed.js ${file}"
},
]
},
注意事项
我有一个 单独的 节点项目,其配置与 运行 on Save 扩展相同。在该项目中不存在此问题。
我找到问题的原因了。这是由于我的 settings.json
文件中的这一行:
"shell": "C:/Program Files/Git/bin/bash.exe",
删除它后,我的问题就消失了。