我正在创建一个网络应用程序,我计划从标准网站和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>
答案 0 :(得分:1)
<强>更新强>
如果唯一的区别是加载该库,那么您的代码似乎没问题。
原帖
有一个Web客户端需要模块,因此可能有点冒险。我使用了以下内容:
function is_nwjs(){
try{
return (typeof require('nw.gui') !== "undefined");
} catch (e){
return false;
}
}
答案 1 :(得分:1)
答案 2 :(得分:0)
我的有限理解是,如果定义了process
,则说明您位于NWJS中,并且可以访问诸如process.versions['nw-flavor']
之类的字段。