0%

背景

看到electron官网关于在ts中使用contextBridge的说明,
照做后发现.d.ts文件没有生效.非常不解.

介绍

ts本身的特质在于,能够做类型检查.
而有时出于不想造轮子的想法,不得不使用第三方的库,这些库有可能是js写的.

Read more »

背景

使用electron封装网页微信,希望在有未读消息时改变通知栏图标.
于是需要一方面在网页上执行js代码以发出信息,
另一方面需要在electron主线程中接收信息.(见方法原型)
而发出信息要使用的 ipcRenderer.send,依赖nodejs的语法环境(使用 require 引用)
通常无法在普通js代码中被执行.

目前有一些解决方案

  1. 配置 nodeIntegration 为true,即允许在"插入到网页上的js代码"中,能够使用nodejs的语法.
    出于安全性考虑,不建议
    另外测试了一下,即便配置为true,也不能正常运行,不知道为什么.
  2. 在preload.js(electron的机制,主要在页面加载前运行,也由于页面的js机制还没有开始运行,这里可以使用nodejs的机制编写)中
    配置事件hooks,允许在页面加载后开始执行一段js代码(包含ipcRenderer).
    但似乎还是不能正常运行.
  3. 在preload.js中使用contextBridge暴露api,而后在页面上插入代码时,使用该api.
Read more »

背景

为了搞一个局域网版本的read it later应用大费心思.
最终还是决定退而求其次,用一个文件服务器作为中转,能中转文件,一些信息也可以以文本的形式中转.

不过文件服务器也有好多种

  1. SMB 太靠近windows懒得用
  2. ftp/sftp 太老不新鲜
  3. WebDAV
Read more »

背景

freechat不再能用(提示微信版本过低),
wechat-uos功能孱弱(不能使用系统通知,无法挂起到状态栏).
目前只能用着浏览器里的web微信,
但依然想实现一个electron封装的简单微信,最好还能挂起到状态栏.
因此无法避免需要使用打包工具.
在以前用过的工具当中, electron-builder 最为好用.
但以前的项目现在无法运行了,或许由于electron版本的变化引起,
因此重新尝试electron-builder的使用

介绍

一个打包工具,可以打包到许多平台,配置方便

Read more »