1.进程和线程?
进程相当于QQ和微信的关系,互不干扰,QQ 的消息发送不到微信上,谷歌浏览器是多进程的,每一个tab页就是一个进程(渲染进程),而谷歌浏览器本身是主线程。electron框架和谷歌浏览器是类似的。
2.electron特点
他是多进程的,一个页面就是一个进程,进程{每个进程互不干扰,类似于QQ和微信的关系},有一个主进程(l老大,可以创建渲染进程,有很多api),其他的渲染进程(可以使用dom和node);
里面可以用node的api也可以用js(很奇葩…)
3.详解常见启动命令-如vue脚手架package.json里面scripts
举例:
nodmon --watch main.js --exec \“\”
package.json里面的scripts里面的start或者dev这种启动命令,是怎么来的?
去看文档 看node的文档比如 : nodmon --watch(监听哪个文件) main.js(被监听的文件) --exec(执行哪个命令) \“\”(最外层是双引号,所以要转义)
4.DOMcontentLoaded和onload 的区别??
DOMContentLoaded页面加载更快,js更早执行,不用等待图片加载完成
5.electron进程之间的通信
[ipc通信-主进程和渲染进程]ipcRenderer作用是渲染进程将事件发送到主进程去,ipcRenderer.send('事件名',‘f发送的信息’);发送出去怎么接收呢?在main.js里面ipcmain.on('message',('事件名',‘发送的信息’)=>{});主进程怎么发回去event.reply('reply')[在ipcmain.on里面]
6.electron进程之间的通信-更便捷
const createWindow = () => { win = new BrowserWindow({ width: 1600, height: 1000, webPreferences: { preload: path.join(__dirname, "preload.js"), nodeIntegration: false, contextIsolation: false, sandbox: true, }, })
使用remote模块实现跨进程访问--快捷一些