【问题标题】:How to prevent slash expansion in NPM custom arguments?如何防止 NPM 自定义参数中的斜线扩展?
【发布时间】: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/"

【问题讨论】:

    标签: npm git-bash


    【解决方案1】:

    你可以试试angular/angular-cli issue 5606Tolga 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 好的。我已将您的评论包含在答案中以提高知名度。
    猜你喜欢
    • 2020-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-06
    • 1970-01-01
    • 2014-09-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多