如何防止 NPM 自定义参数中的斜线扩展?
Posted
技术标签:
【中文标题】如何防止 NPM 自定义参数中的斜线扩展?【英文标题】:How to prevent slash expansion in NPM custom arguments? 【发布时间】:2018-11-12 16:42:14 【问题描述】:在 package.json 中:
"scripts":
...
"build": "ng build --prod",
...
在我的 Bash 脚本中:
npm run build -- --base-href "/mydir/"
运行 Bash 脚本时,会发生这种情况:
ng build --prod "--base-href" "C:/Program Files/Git/mydir/"
但我想要:
ng build --prod "--base-href" "/mydir/"
【问题讨论】:
【参考方案1】:你可以试试angular/angular-cli issue 5606中Tolga Balci (tolgabalci
)的建议:
请参阅“MinGW Posix path conversion”了解何时发生转化:
您可以通过在调用
ng
时设置MSYS2_ARG_CONV_EXCL
环境变量来告诉git bash 避免转换-bh
参数,如下所示:MSYS2_ARG_CONV_EXCL="-bh=" ng build --prod -bh="/en/"
请注意,要使用排除,您必须使用带有
=
的-bh
参数,而不是空格,因为MSYS2_ARG_CONV_EXCL
会认为空格后面的值是不同的参数。
OP Marco Eckstein 确认in the comments:
就我而言,它是(都在同一行):
MSYS2_ARG_CONV_EXCL="--base-href" npm run build -- --base-href="/mydir/"
【讨论】:
谢谢。所以在我的例子中,它是: MSYS2_ARG_CONV_EXCL="--base-href" npm run build -- --base-href="/mydir/" (都在同一行) @MarcoEckstein 好的。我已将您的评论包含在答案中以提高知名度。以上是关于如何防止 NPM 自定义参数中的斜线扩展?的主要内容,如果未能解决你的问题,请参考以下文章
如何在通过 NPM 分发时管理 React 组件(Redux、CSS)的自定义方面