先附上所有文章链接
https://www.520mwx.com/view/32963?tdsourcetag=s_pcqq_aiomsg
https://www.jianshu.com/p/45df1dc37478
https://blog.csdn.net/wang839305939/article/details/83780789
首先需要安装node-gyp的依赖,详细文章可以看我的
https://blog.csdn.net/lbn2676043895/article/details/89881180
https://blog.csdn.net/lbn2676043895/article/details/89954920
其实流程就是
1.cmd管理员模式打开,运行npm install windows-build-tools命令安装py环境和.net环境,这里最好是用npm安装,cnpm安装的后面会出问题;千万注意!!过程会有卡顿,一定得让它自动跑完install流程,流程跑完后在windows-build-tools文件夹里会有python的安装包,可是尝试安装,并配置环境变量
2.npm install -g node-gyp 全局安装 yarn config set registry https://registry.npm.taobao.org/ yarn config set ELECTRON_MIRROR http://npm.taobao.org/mirrors/electron/
3.npm install -g electron-rebuild 全局安装,这个是后面编译electron和ffi模块相关的
4.项目根目录yarn install ffi --save,ffi模块有时候下载失败,可以尝试ffi-napi
5.项目根目录yarn install electron-rebuild --dev
4.然后就可以开始了,先把electron-vue项目生成好,然后yarn install,等待下载好所有模块
5.electron-rebuild -v 2.0.4 -a ia32 项目根目录运行命令,我这里是用的32位的node和32位的dll,electron,所以如果要使用64位的话就把ia32改成64即可 2.0.4对应的是electron的版本号(如果要打包32位系统的,node.js一定要换成32位的版本);
有时候会失败,根据过往经验,把electron换成2.0.18可以成功,不过不是绝对的,也可以把window-build-tools中的vs打开,装一个c++开发工具,然后关机重启
如果electron-rebuild失败,可能是由于本地数据库的关系,先去掉sqlite3的配置
6. .\node_modules\.bin\electron-rebuild.cmd 项目根目录运行此命令,我当时命令行运行出问题,于是直接找到目录里面去打开cmd执行了
7.文件放在static文件夹中,需要在package.json中,win里面加上
8.引用ffi模块一定不要放到渲染进程main的同级目录里面,用绝对路径:const libpath = path.join(__dirname, "../../../static/CTestDLL32.dll");
9.之后就可以打包确认了,在打包过程会报一个错误,原因就是electron-rebuild不要放在dependencies中,之后要用的话再看我的文章下载它就好了!到这里一个ffi应用调用dll模块和打包的问题都搞定了!
如果在electron中要调用SQLite
方法1:
在package.json中script 添加 "postinstall": "install-app-deps",
然后在项目根目录下启动命令行执行 yarn add sqlite3 --runtime=electron --target=2.0.18 --dist-url=https://atom.io/download/electron --save
跑一遍electron-rebuild -v 2.0.4 -a ia32就可以了
方法2:在安装好的sqlite3目录内执行:node-gyp rebuild --target=2.0.18 --arch=x64 --target_platform=win32 --dist-url=https://atom.io/download/electron/ --module_name=node_sqlite3 --module_path=../lib/binding/electron-v2.0.18-win32-x64