本文概述
借助当今所有可用的框架(如ReactJS, AngularJS等), 开发过程将加快并优化Web应用程序的性能, 从而实现优化。感谢Electron, 你可以将此类Web应用程序打包在桌面应用程序中。遗憾的是, Electron中没有热重装等功能, 因此你有时希望像直接使用Web应用一样直接在浏览器中工作。这导致了基本的必要性, 即知道你是在电子设备中还是在带有JavaScript的浏览器中时, 都可以在每个平台上执行一些代码, 因为你不想维护2个代码库。
幸运的是, 很容易知道何时进入Electron或浏览器, 我们将在本文中向你展示如何实现。
A.安装isElectron模块
isElectron模块是一个微型实用程序, 可让你知道何时进入Electron平台或通用浏览器。通过使用终端切换到项目目录并执行以下命令来安装此模块:
npm install --save is-electron
安装后, 你将可以在任何地方使用is-electron模块, 并验证你使用的平台:
let isElectron = require("is-electron");
if(isElectron()){
console.log("Electron aww yeahhh !");
}else{
console.log("Running in other platform as a normal browser");
}
有关此模块的更多信息, 请访问Github上的官方存储库。
B.使用isElectron函数
如果你不愿意为提供isElectron模块的功能安装模块, 则可以简单地使用它并将其包含在自己的代码中:
function isElectron() {
// Renderer process
if (typeof window !== 'undefined' && typeof window.process === 'object' && window.process.type === 'renderer') {
return true;
}
// Main process
if (typeof process !== 'undefined' && typeof process.versions === 'object' && !!process.versions.electron) {
return true;
}
// Detect the user agent when the `nodeIntegration` option is set to true
if (typeof navigator === 'object' && typeof navigator.userAgent === 'string' && navigator.userAgent.indexOf('Electron') >= 0) {
return true;
}
return false;
}
并以与模块相同的方式使用它:
if(isElectron()){
console.log("Electron aww yeahhh !");
}else{
console.log("Running in other platform as a normal browser");
}
两种方式都可以在”渲染器”过程和”主要”过程中使用。函数和模块由@cheton编写。
编码愉快!
评论前必须登录!
注册