对于跨平台来说,环境变量设置是个大坑,这篇文章来讲讲如何剥离环境变量依赖以及入口文件分离问题。
一切从应用的入口开始
1 | { |
假设我们有一个 express 项目,这是我们的开发和启动配置。
在 linux/mac 下妥妥的,可 win 下就挂了,因为 win 的环境变量不是这样设置的。
于是乎我们引入一个 cross-env
模块,然后配置如下。
1 | { |
问题解决了,皆大欢喜,文章结束。。
咳咳,,等等,这不是我要说的东西。
入口分离
我比较喜欢用入口分离来处理跨平台问题,简单的兼容性基本都可以靠编程来解决。
1 | { |
这样不是更好么,然后在对应的入口脚本里写环境变量即可,而且可以针对开发,发布环境,加入不同的初始化代码。
例如: bin/dev
文件:
1 |
|
在保证启动代码一致的情况下,可以做很多开发环境优化,再也不用在入口文件加入各种判断处理,何乐而不为呢?
小结
手头一堆老项目,各种蛋疼的初始化,各种判断,各种繁琐的处理,所以自己摸索了这个方式方便分离各种环境。
说不定大神们早就这么用了,只是我们这些渣渣不知道而已。