electron程序,如何区分是调试模式还是生产模式?这是很多新人会疑惑的问题。苏南大叔的本篇文章,也是从苏南大叔自身的经验角度,来说说这个问题,仅供参考,仅供参考,仅供参考。

苏南大叔:electron程序,如何区分是调试模式还是生产模式? - electron-process-env
electron程序,如何区分是调试模式还是生产模式?(图1-1)

本文测试环境:macelectron@6.0.0。话说,阴阳本为一体,然混沌初开,一分为二,一为阴,一为阳。开发模式或者生产模式,就是一念之间的事情。何必定义的那么清楚,难道生产模式下的程序就不能调试了么?不是。难道开发模式的程序,发布就会发生重大问题么?恐怕也不是的。所以,各位少年,心中有佛所见皆佛,大家淡定淡定。

process.env环境变量(常见)

通过给electron程序添加特殊的启动参数,也就是process.env来区分是否为dev模式,这个是最常见的方式,也是大多数人采用的方式。比如在electron-vue中,就大量使用了这种方案。可以参考下面这篇文章:

代码范例是这样的:

if (process.env.NODE_ENV !== 'production') {
  //debug
}

如何传递参数?(敲黑板重点)

关于这个方案,最常见的新人问题就是:“如何传入env参数?”。一般来说,就是在命令行下面附加参数传递的。比如:

[1] 通用方案:利用cross-env传递参数:

newsn.net:这里是【评论】可见内容

[2] 或者win下专用命令:

set NODE_ENV=production && electron .

[3] 或者mac下专用命令:

NODE_ENV=production electron .
export NODE_ENV=production && electron .

[4] 甚至可以在.js文件里面直接写代码:

process.env.NODE_ENV = 'production'

凡事都没有那么绝对,如果你给最终的生产模式的成品传递一个dev参数标识的话,对于程序来说,又回归到了生产模式逻辑。

结束语

是不是生产模式,就是为了方便程序逻辑判断嘛。所以,如果您思路足够清晰,用什么样的变量或方案,来判断当前是不是调试模式,也不是很难的事情,对吧?

更多electron程序,请点击苏南大叔的博客:

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留链接作者。
本站采用创作共用版权协议, 要求署名、非商业用途和相同方式共享。
转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议。
未经许可,规模化镜像抄袭本站内容的行为,将会根据有关法律法规进行维权。
程序如此灵动~》下所有原创文章,如被用于商业用途,请您按规定支付稿费。

 【加群】加入QQ群【175454274】和大家一起讨论这个问题

 【源码】本文代码片段及相关软件,请点此获取

 【绝密】秘籍文章入口,仅传授于有缘之人   electron

本站的忠实读者小伙伴,正在阅读下面这些文章: