electron的windows环境

1.安装nvm-windows
https://github.com/coreybutler/nvm-windows

下载安装文件:https://github.com/coreybutler/nvm-windows/releases
默认安装位置:C:\Users\electron\AppData\Roaming\nvm
默认环境变量位置:C:\Program Files\nodejs
*安装完成后,虽然path中会自动加入环境变量,但是命令行可能不太好用,需要调整path里面的新加的目录放在最前面

2.通过nvm-windows安装nodejs
nvm install <指定版本号> <指定位数:32|64>
当前使用7.7.4  64位

查看当前的安装模式 false:本地安装/true:全局安装
npm get global

3.在项目目录安装指定版本的electron
npm install [email protected] --save-dev

启动
全局安装启动命令:electron .
本地安装启动命令:.\node_modules\.bin\electron .

也可以在package.json中添加脚本,通过npm运行
"scripts": {
    "start": "electron ."
  }

执行:npm start


4.使用nodejs原生模块
以安装sqlite(3.1.8)为例
https://github.com/mapbox/node-sqlite3
npm install [email protected] --save-dev

由于electron不支持require原生nodejs模块,需要对electron进行重新编译

方式一
https://github.com/electron/electron-rebuild
安装:npm install --save-dev electron-rebuild
执行:.\node_modules\.bin\electron-rebuild.cmd

方式二
通过electron-build管理重新编译
在package.json中添加脚本
"scripts": {
    "postinstall": "electron-builder install-app-deps"
}
每次安装dependencies的包时,会自动检查并重新编译electron

*windows环境需还需要安装以下工具:
a。下载安装Visual C++ 2015 Build Tools(还依赖 .net framework)
http://landinghub.visualstudio.com/visual-cpp-build-tools
b。下载安装pyhton2.7,配置环境变量


5.打包发布
https://github.com/electron/electron/blob/master/docs/tutorial/application-distribution.md

方式一
可以下载预构建的二进制文件,把代码放到app目录下(或把代码压缩asar,再放到app目录下)运行electron.exe即可运行,可以通过rcedit修改exe的图标等信息
没试过该种打包方式如何使用nodejs原生模块

打只读压缩包(可能会有效率问题)
https://github.com/electron/asar

编辑exe信息
https://github.com/electron/rcedit

方式二
通过第三方工具,现时点官方推荐三种工具
https://github.com/electron-userland/electron-forge
https://github.com/electron-userland/electron-builder
https://github.com/electron-userland/electron-packager

electron-builder
electron-builder和electron-packager比较,普遍评论builder比较强大。
推荐使用yarn作为包管理器:https://yarnpkg.com

electron-forge
尝试使用时,执行electron-forge make命令出以下错误,
EMFILE: too many open files, open 'C:\Users\electron\AppData\Local\Temp\electron-forge\.runtime.config'
不知道怎么解决就放弃了,而且,windows下运行start命令超级慢,不知道是不是因为模块太多了。

electron-packager
未尝试,也不确定如果引用nodejs原生模块该怎么打包

方式三
grunt打包脚本
https://github.com/paulcbetts/grunt-build-atom-shell
没试过,项目好像也没有人维护了,貌似官网也已经从首页删除了该说明


总之,推荐使用electron-builder来做项目的管理,
重新编译nodejs原生模块也比较方便





猜你喜欢

转载自vinnie424.iteye.com/blog/2369103
今日推荐