本文介绍了Grunt cmd与路径中的空格的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在win32上使用 grunt.util.spawn
并在 cmd
参数的路径中使用空格时,它会调用它没有逃脱空间。例如我的路径中包含C:\ Users \Beech Horn,所以我收到的错误信息是:
'C: \ Users \Beech'不是公认的内部或外部命令,
可操作的程序或批处理文件
但是 grunt.file.exists
显示文件已存在。
使用''+ cmd''
, grunt.file.exists
的cmd参数可以找到文件,但是我得到
致命错误:spawn ENOENT
有没有人已经用其他grunt插件解决了这个问题?
解决方案 code> cmd 直接变量,路径中的第一个转义空格:
cmd。替换('','\\')
When using grunt.util.spawn
on win32 with spaces in the path of the cmd
argument it is calling it without escaping the space. For instance my path contains "C:\Users\Beech Horn" so the error message I receive is
'C:\Users\Beech' is not a recognized as an internal or external command,
operable program or batch file
However grunt.file.exists
shows the file is there.
Also if I wrap the cmd argument with '"' + cmd '"'
, grunt.file.exists
can find the file however I get
Fatal error: spawn ENOENT
Has anyone solved this problem already with other grunt plugins?
解决方案
Instead of using the cmd
variable directly, first escape spaces in the path:
cmd.replace(' ', '\\ ')
这篇关于Grunt cmd与路径中的空格的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!