这是做什么的??? / [\\ /]电子预置的[\\ /] /。试验()

时间:2017-04-29 19:47:53

标签: javascript if-statement webpack escaping electron

我克隆了一个Electron React Boilerplate回购邮件,并在main.js中看到了代码:

if ( process.defaultApp || /[\\/]electron-prebuilt[\\/]/.test(process.execPath)

我知道这是正则表达式,但我不明白为什么或这里发生了什么。你为什么需要这个? /[\\/]

我从未见过这个。我也没有关键字来搜索Google,因为我没有搜索引用词。

1 个答案:

答案 0 :(得分:2)

它正在测试它所处的环境。如果这些正则表达式中的任何一个与process.defaultApp匹配或评估为true,那么它知道它必须在开发环境而不是生产环境中。如果您想在dev中运行一些代码(比如登录详细信息或调试消息)而不是在生产中运行,那么这将非常有用,那么您将测试这些条件。您可以在此处查看他们如何使用https://github.com/pbarbiero/basic-electron-react-boilerplate/blob/master/main.js#L46如果您正在开发,他们会弹出开发工具,而不是如果它是一个生产应用

具体来说,它使用/[\\/]来检查它引用电子预建的路径中的某个位置。 []匹配括号内的任何字符,然后根据您的操作系统,它可能有正斜杠或反斜杠/ \但是如果您想要反斜杠,则需要首先将其转义为{{1} }

例如C:/ users / blah / someOtherFolder / electron-prebuilt / etc / etc

如果从那里执行,您可以认为它不是已部署的制作应用。