Electron初识之路
2019-10-17 10:03 清晨、午后 阅读(210) 评论(0) 编辑 收藏 举报1.名词解释:
nodejs:nodejs相当于 jvm, vs等, 它是一个运行平台, 只不过它运行的是javascript语言而已,就像vs可以解释、编译、运行c++代码一样
electron:是一个能使用传统前端技术(Nodejs, Javascript, HTML, CSS)开发一个跨平台桌面应用的框架。这里所说的桌面应用指的是在Windows、OSX及Linux系统上运行的程序。可以把它理解为一个本地的、类似浏览器的壳子,用以展示js、html、css描述的界面
初识 electron: https://blog.csdn.net/wang839305939/article/details/80741100
2.环境搭建
安装vscode
https://blog.csdn.net/HelloZEX/article/details/84029810
linux版本下载地址:
https://code.visualstudio.com/Download(deb包下载)
https://www.cnblogs.com/longyuan-z/p/7739864.html(deb包安装方法)
安装nodejs(注意版本)
https://blog.csdn.net/yt_php/article/details/90105880
https://blog.csdn.net/qq6759/article/details/97624102(Linux 下安装,注意不要用 apt-gep install nodejs 安装,否则环境变量修改后不起作用)
修改环境变量 “source /etc/profile” 在当前窗口起作用
mips64(龙芯)安装
https://www.cnblogs.com/lovesong/p/11589813.html
ubuntu 下设置taobao镜像和win下不一致,如下是 linux 下 .npmrc 文件的内容
registry=https://registry.npm.taobao.org/
disturl=https://registry.npm.taobao.org
electron_mirror=https://npm.taobao.org/mirrors/electron/
安装electron
可以选择版本和平台:
npm install -g electron@5.0.11 -arch=ia32
npm install -g electron@5.0.11 -arch=x64
查看版本 electron -v electron -a
解决electron 通过npm下载慢的问题
https://www.jianshu.com/p/568db76a7b45
安装Python(编译c++扩展模块用到)
https://www.liaoxuefeng.com/wiki/897692888725344/897692941155968
3.NodeJS开发c++扩展模块
注意点:gyp文件的结构错误不会报错,要注意模块之间的关系
一个简单的示例
http://blog.csdn.net/chenhaifeng2016/article/details/74939493
写法介绍
https://hongchh.github.io/2018/NodeJS-Cpp-Addons%E5%9F%BA%E7%A1%80/
异步实现
https://hongchh.github.io/2018/NodeJS-Cpp-Addons%E4%B9%8BC-%E7%B1%BB%E5%AE%9E%E4%BE%8B%E5%8C%85%E8%A3%85%E4%B8%8E%E5%BC%82%E6%AD%A5%E6%93%8D%E4%BD%9C/
根据.h自动分装接口的方法
https://www.ibm.com/developerworks/cn/aix/library/au-swig/
安装SWIG: npm -g install swig
查看版本: swig -v
http://www.swig.org/Doc3.0/Javascript.html
https://blog.csdn.net/qq_26105397/article/details/83153606(pyth)
NodeJS - V8和JS的参数类型转换
https://blog.csdn.net/youth0532/article/details/74721247
Gyp 语法规则
https://www.cnblogs.com/nanvann/p/3913880.html
用node-gyp手动编译node的c++扩展模块
https://blog.csdn.net/github_36487770/article/details/81052936
使用NodeJSc++扩展模块调用DLL
https://blog.csdn.net/chenhaifeng2016/article/details/74989966
Electron如何调用NodeJS扩展模块
https://blog.csdn.net/chenhaifeng2016/article/details/74962611
Electron打包exe(windows)
https://segmentfault.com/a/1190000013924153?utm_source=tag-newest
https://segmentfault.com/a/1190000016695922?utm_source=tag-newest
https://www.electron.build/configuration/nsis (官网)
vue cli 构建项目
https://cli.vuejs.org/zh/guide/creating-a-project.html#vue-create
https://github.com/jkchao/vue-electron (比较标准的结构)
4.其他学习连接:
electron官方指南,创建一个应用
https://github.com/electron/i18n/tree/master/content/zh-CN
nodejs入门
https://www.runoob.com/nodejs/nodejs-tutorial.html
nodejs中文网
http://nodejs.cn/api/addons.html
nodejs调用DLL(有两种方法)
https://www.jianshu.com/p/7d33a21e43d3
https://blog.csdn.net/chenhaifeng2016/article/details/74989966
Node.js v8.x 中文文档
https://www.nodeapp.cn/addons.html
node.js和JavaScript的关系
https://www.cnblogs.com/thinkam/p/8262743.html
5.问题及解决过程:
NODE_MOUDLE_VERSION不一致问题
https://blog.csdn.net/yurhzzu/article/details/99817323
https://www.cnblogs.com/mdorg/p/10417945.html(可以修改abi的值?,该方法自测不行,待继续了解)
ia32下:
npm install -g electron@5.0.11 -arch=ia32 abi版本为70
npm install -g electron@4.0.1 -arch=ia32 abi版本为64
node-gyp rebuild -target=10.1.0 abi 版本为64(该方法在linux下的 /tmp 目录下生效,其他目录貌似不生效,待继续了解)
Electron
https://electronjs.org/docs
相关项目
https://github.com/k-water/electron-filesystem