cross-env 是运行跨平台设置的和使用环境变量(Node中的环境变量)的脚本。
一句话来说明 cross-env,就是针对相同的语句和命令,我们希望这条语句能够同时在 Windows 和 Linux 上使用。
为什么需要 cross-env
这个问题主要是因为不同的操作系统平台对 Shell 脚本的支持情况不一样导致的。
例如,如果你希望在 Windows 中使用命令NODE_ENV=production
来设置环境变量的话,大多数Windows 命令提示符都没有办法进行操作。
同样的,Windows 和 POSIX 命令使用环境变量的方式也有所不同。
对于POSIX,您可以使用:$ENV_VAR
,但是在 Windows 上需要使用 %ENV_VAR%
来设置环境变量。
上面的情况就是针对不同的操作系统平台,设置环境变量中使用的变量引用是不同的。
例如,我们常常用到的设置环境变量。
针对不同的操作系统环境
windows
set NODE_ENV=production
linux
export NODE_ENV=production
同样的意思,如果我们需要根据不同的操作系统进行不同的设置的话是不是非常麻烦呀。
因此我们 cross-env 就能够大显身手了。
安装
如果你在使用的时候遇到了:
> Code@1.0.0 dev /home/vagrant/Code
> cross-env NODE_ENV=development webpack --progress --hide-modules
sh: 1: cross-env: not found
这个提示的话,就说明你的系统平台中没有安装 cross-env。
你可以运行
sudo npm install --global cross-env
来进行安装和配置。