(一)准备工作

1. 架构以及技术选型

    目前我的架构以及技术选型是 Electron + Vite + Vue3 + SQLite
    Electron不是必须的,UI也不是必须的,甚至你的脚本可能不需要界面,数据库也可能是大材小用,完全可以把数据写到文件。但是作为一个教程,也许你不写脚本,做一个正当的程序,也会用到这些技术栈。
    目前在我的需求下,得出这样的架构:我需要打包成一个独立的EXE,有数据库支持我做很多复杂的数据存储,而且有UI去与用户交互。

如果觉得短期学习成本高,可以直接编写js文件,也可以搭建一个Koa或者Egg.js项目,就可以开始撸项目了。毕竟有Web框架,后期想要UI,完全可以通过http通讯,写一个Web去管理脚本。

  • Electron: 选用Electron的原因是我的老本行是Nodejs,这也是这个系列教程的源头。接触Electron不深,仅仅用到它提供的node_modules跟代码的打包,还有系统通知。其他的基于Nodejs跟chromium基本都能实现。
  • Vite: 新、启动快
  • Vue: 个人前端技术栈、习惯
  • SQLite: 本地数据库,前期应该用不上

2. 开发环境

用 C 语言写的 dll 插件,规范是 COM IDispatch。在游戏脚本里面,基本需要的东西,它都有。我是去某宝买的,价格不贵。囊中羞涩的同学可以自己找一下途径。建议用新版一点的,旧版的很多功能都不支持,很多付费的接口

Windows c++ Node.JS插件,实现COM IDispatch对象包装器,模拟ActiveXObject在cscript.exe

这个也是Nodejs调用大漠插件的重点,Windows c++ Node.JS插件

Nodejs的一个版本,注意是32位的。可以直接点击下载安装(msi)。但是推荐使用gnvm做windows的版本管理工具,具体不多介绍,好像nvm也有node的版本可以自行了解

这里介绍一个vite + electron的脚手架,ELectron的版本需要修改,下节讲

Q & A

  • Q:为什么不用vue-electron?A: 太旧了,不兼容11.x以上nodejs
  • Q: 为什么要用32位Nodejs? A:软件兼容性,而且好像winax只能在32位node下编译成功
  • Q: 为什么要用12.18.3? A: 这个主要是考虑SQLite3的兼容性以及。因为Electron与Nodejs的NODE_MODULE_VERSION对应其实是个相对讲究的事情,建议不想踩坑的直接按照教程版本去装第三方库

做轻脚本的小伙伴直接忽略Electron,装好 Nodejs 新建项目文件夹,然后 npm init 准备下一节课

Logo

前往低代码交流专区

更多推荐