electron使⽤nodejs跨平台开发兼容问题整理
1 import path from 'path'
2 import os from 'os'
3 import { app} from 'electron'
4
5// 获取应⽤安装根路径
6// windows平台
7 let appPath = '';
8 appPath = solve();
9// linux|os平台
10 appPath = path.AppPath(), '../', '../');
  const label = ['home', 'appData', 'userData', 'temp', 'exe']
  Path(name)
11
12// 获取平台类型
13 const osType = os.type() | process.platform;
14
15// 获取⽤户⽬录
16 const userDir = os.homedir();
17
18// windows和linux,os在路径分隔符上是不同的,在编码中不能写硬编码‘\’或者'/'这样都是不可取的,尤其是跨平台开发⼀定不兼容
19// node path模块可以帮助我们轻松解决,例如我们要访问⽤户⽬录下的jdk⽂件夹,可以这样写
20 const folderPath = path.join(os.homedir(),'jdk');
21// 这样⽆论是任何平台路径都能正确
22// 以此为根基,可以封装⼀下获取路径的⽅法
23function getFolderPath(path: string) {
24return path.join(path)
25 }
26// 打开⽂件在硬盘中的⽬录
27// windows可以借助node‘child_process’模块,执⾏dos命令
28 START ["title"] [/D path] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED]
29      [/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL]
30      [/NODE <NUMA node>] [/AFFINITY <hex affinity mask>] [/WAIT] [/B]
31      [command/program] [parameters]
32
33    "title"    在窗⼝标题栏中显⽰的标题。
34    path        启动⽬录。
35    B          启动应⽤程序,但不创建新窗⼝。
36应⽤程序已忽略 ^C 处理。除⾮应⽤程序
37启⽤ ^C 处理,否则 ^Break 是唯⼀可以中断
38该应⽤程序的⽅式。
39    I          新的环境将是传递
40给 的原始环境,⽽不是当前环境。
41    MIN        以最⼩化⽅式启动窗⼝。
42    MAX        以最⼤化⽅式启动窗⼝。
43    SEPARATE    在单独的内存空间中启动 16 位 Windows 程序。
44    SHARED      在共享内存空间中启动 16 位 Windows 程序。
45    LOW        在 IDLE 优先级类中启动应⽤程序。
46    NORMAL      在 NORMAL 优先级类中启动应⽤程序。
47    HIGH        在 HIGH 优先级类中启动应⽤程序。
48    REALTIME    在 REALTIME 优先级类中启动应⽤程序。
windows开发平台49    ABOVENORMAL 在 ABOVENORMAL 优先级类中启动应⽤程序。
50    BELOWNORMAL 在 BELOWNORMAL 优先级类中启动应⽤程序。
51    NODE        将⾸选⾮⼀致性内存结构(NUMA)节点指定为
52⼗进制整数。
53    AFFINITY    将处理器关联掩码指定为⼗六进制数字。
54// linux及其他平台则需要借助各⾃平台的模块打开⽬录

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。