npm脚本:是否存在跨平台条件语句?

npm脚本:是否存在跨平台条件语句?,npm,cross-platform,Npm,Cross Platform,我正在尝试将npm包从依赖于*nix转移到跨平台。我在package.json中有以下脚本条目: "scripts": { "build": "rimraf dist/ && tsc", // other entries "prepublish": "if [ ! $SKIP_PREPUBLISH ]; then npm run build; fi" }, 我想使用if[!$SKIP_PREPUBLISH];然后npm运行构建;fi并使其跨平台运行。

我正在尝试将npm包从依赖于
*nix
转移到跨平台。我在
package.json中有以下脚本条目:

"scripts": {
    "build": "rimraf dist/ && tsc",
    // other entries
    "prepublish": "if [ ! $SKIP_PREPUBLISH ]; then npm run build; fi"
  },

我想使用
if[!$SKIP_PREPUBLISH];然后npm运行构建;fi
并使其跨平台运行。有办法吗?

从npm
5.1.0开始,您可以更改脚本shell

我将这一行放在
.npmrc
文件中,它可以工作:

scriptshell=C:\ProgramFiles\Git\bin\bash.exe

您还可以运行以下命令:

npm配置集--userconfig脚本shell“C:\\Program Files\\Git\\bin\\bash.exe”