教程:Nodejs大漠插件开发游戏脚本实战(一)项目介绍
(一)准备工作1. 架构以及技术选型 目前我的架构以及技术选型是 Electron + Vite + Vue3 + SQLite Electron不是必须的,UI也不是必须的,甚至你的脚本可能不需要界面,数据库也可能是大材小用,完全可以把数据写到文件。但是作为一个教程,也许你不写脚本,做一个正当的程序,也会用到这些技术栈。 目前在我的需求下,得出这样的架构:我需要打包成一个独立的
(一)准备工作
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
准备下一节课
更多推荐
所有评论(0)