【发布时间】:2015-11-05 05:56:58
【问题描述】:
我正在创建一个网络应用程序,我计划从标准网站和作为 NWJS 独立应用程序交付。在 NWJS 中,我可以使用 require 命令,但不能在浏览器中使用。我可以将我的命令包装在 if 语句中:
<script>
if (typeof require === "function") {require('nwjs-osx-menu')(window)}
</script>
还有其他可以被认为是更好的做法的方法吗?
编辑:遵循@Kuf 的建议
<script>
if (typeof require === "function") {
try{
require('nwjs-osx-menu')(window)
} catch (error) {}
}
</script>
【问题讨论】:
-
虽然它可以工作,但它依赖于外部模块,而我检查了“nw.gui”,它是 node-webkit 内部模块,所以即使你没有加载任何模块,这个功能也可以工作完全没有。
-
啊!我现在明白你的技术了。如果应用程序在 NW.js 中运行,我的目标是加载“nwjs-osx-menu”,如果应用程序在浏览器中运行,则忽略它。您的目标是确定应用程序是否在 NW.js 中运行。额外问题:您的代码中是否需要
var result = false;? -
很好,现在轮到我了 :)
if (typeof require === "function")部分是多余的,因为如果未定义要求,它将引发异常
标签: require node-webkit