javascript - 这是做什么的???/[\\/]electron-prebuilt[\\/]/.test()

标签 javascript if-statement webpack escaping electron

我克隆了一个 Electron React Boilerplate repo 并在 main.js在代码中看到这个:

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

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

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

最佳答案

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

具体来说,它使用 /[\\/] 检查路径中的某处是否引用了 electron-prebuilt。 [] 匹配括号内的任何字符,然后根据您的操作系统,它可能有正斜杠或反斜杠 /\ 但如果您想要反斜杠,则需要转义它首先因此 \\

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

如果它是从那里执行的,您可以假设它不是已部署的生产应用。

关于javascript - 这是做什么的???/[\\/]electron-prebuilt[\\/]/.test(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43699842/

相关文章:

javascript - Ajax请求速度极慢

c - if 条件下使用关系运算符的段错误

python - 在 python 中使用子例程而不是 if 语句

java - 当 "if"语句以分号结束时会发生什么

css - 设置 webpack sass-loader 来分离样式

javascript - 如何让装饰器与 babel 和 webpack 一起工作?

javascript - 如何确保内联 jQuery 脚本在 HTML 页面中最后执行?

javascript - 用盐双重哈希密码更安全吗? (稍微复杂一点)

javascript - Favicon 不会显示,似乎是 webpack 的问题

javascript - 返回 Mongodb 查询 Distinct