深入浅出Electron:原理、工程与实践
上QQ阅读APP看书,第一时间看更新

1.6 共享环境变量

除了设置操作系统的环境变量外,开发者还可以在安装Electron依赖包前,使用如下指令临时性地设置一下环境变量:

> set electron_mirror = "https:// npm.taobao.org/mirrors/electron/"

执行完此指令后,再执行安装Electron依赖包的指令就会使用上述镜像地址下载相关的二进制资源,但每次安装Electron依赖包都需要这样临时设置镜像地址很麻烦。

除此之外,开发者还可以通过如下命令设置npm的环境变量:

> npm config set electron_mirror https:// npm.taobao.org/mirrors/electron/

通过这种方式设置的环境变量信息将存储在C:\Users\[yourOsUserName]\.npmrc文件内,如以下代码所示:

electron_mirror=https:// npm.taobao.org/mirrors/electron/

这种方式设置镜像地址与设置操作系统的环境变量达到的效果是一样的,然而无论使用哪种方案,都只对开发者自己的电脑生效,而且除了electron的镜像外,你的团队可能还需要设置electron-builder、node-sass、node-sqlite3等依赖包的镜像,这就使得在团队内共享环境变量变得更加有价值。

如果想在团队内共享环境变量,可以在项目的根目录下新建一个名为.npmrc的文件,然后把环境变量设置到该文件内,这样在安装相应的依赖包时,npm就会从指定的镜像地址下载资源了。如下是笔者在开发Electron项目中常使用的环境变量:

electron_mirror=https:// npm.taobao.org/mirrors/electron/
ELECTRON_BUILDER_BINARIES_MIRROR=http:// npm.taobao.org/mirrors/electron-builder-binaries/
node_sqlite3_binary_host_mirror=http:// npm.taobao.org/mirrors/
sass_binary_site=https:// npm.taobao.org/mirrors/node-sass/
PYTHON_MIRROR=http:// npm.taobao.org/mirrors/python
profiler_binary_host_mirror=http:// npm.taobao.org/mirrors/node-inspector/
registry=https:// registry.npm.taobao.org

.npmrc文件是npm定义的,是专门为npm工具设置环境变量的文件,开发者不仅可以用其来设置依赖包的镜像,还可以设置其他的环境变量,比如前面提到的缓存目录等。

由于这个文件是在项目根目录下创建的,所以我们可以把它提交到项目的源码仓储内,这样团队内每个成员都可以使用这个文件配置的环境变量,免去了为每个新人配置开发环境的烦恼。

更详细的文档可以参考https://docs.npmjs.com/cli/v6/configuring-npm/npmrc/。如果开发者使用的是yarn包管理工具,同样可以设置.yarnrc文件(https://classic.yarnpkg.com/en/docs/yarnrc/),不再赘述。