参考原文:
http://blog.csdn.net/ctbinzi/article/details/23055451
http://npm.taobao.org/
http://electron.atom.io/docs/tutorial/quick-start/
http://www.kancloud.cn/summer/nodejs-install/71975
1 安装nvm
1.1 git clone nvm
1#如果不存在,则自行创建 2cd /Applications/develop 3##/usr/local/lib/ 4git clone https://github.com/creationix/nvm.git
1.2 设置nvm参数
nvm 默认是从 http://nodejs.org/dist/ 下载的。国内修改为淘宝的镜像下载,否则慢死。~/.bash_profile 文件添加命令:
1export NVM_DIR="/Applications/develop/nvm" 2export NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node 3install 0.11.11" 4source $NVM_DIR/nvm.sh
完成后,执行:source ~/.bash_profile
1.3 检查nvm
重新打开终端, 输入 nvm 检查安装是否成功
2 nvm 安装任意版本的 node
2.1 查看一下当前已经安装的版本
1nvm ls 2-> v7.4.0 3 system 4default -> 7.4.0 (-> v7.4.0) 5node -> stable (-> v7.4.0) (default) 6stable -> 7.4 (-> v7.4.0) (default) 7iojs -> N/A (default) 8lts/* -> lts/boron (-> N/A) 9lts/argon -> v4.7.2 (-> N/A) 10lts/boron -> v6.9.4 (-> N/A)
2.2 安装node
nvm install 7.4.0
安装到目录:$NVM_DIR/versions/node/v7.4.0
2.3 安装electron
1sudo npm install electron -g \ 2--registry=https://registry.npm.taobao.org \ 3--cache=$HOME/.npm/.cache/cnpm \ 4--disturl=https://npm.taobao.org/dist \ 5--userconfig=$HOME/.cnpmrc 6 7#测试是否安装成功,如果成功,会弹出窗口 8electron 9#如果不成功,但安装是成功的,可以手动link或alias过去 10alias electron='$NVM_DIR/versions/node/v7.4.0/lib/node_modules/electron/dist/Electron.app/Contents/MacOS/Electron'
安装到目录:$NVM_DIR/versions/node/v7.4.0/lib/node_modules
3 测试程序
3.1 创建项目
1cd ~/git 2mkdir helloword 3cd helloword/
3.2 创建测试代码
分别创建以下几个文件
入口配置文件package.json
1{ 2 "name": "helloword", 3 "version": "0.1.0", 4 "main": "main.js" 5}
入口执行文件main.js
1const { app, BrowserWindow } = require('electron') 2const path = require('path') 3const url = require('url') 4let win 5function createWindow() { 6 win = new BrowserWindow({ width: 800, height: 600 }) 7 win.loadURL(url.format({ 8 pathname: path.join(__dirname, 'index.html'), 9 protocol: 'file:', 10 slashes: true 11 })) 12 win.webContents.openDevTools() 13 win.on('closed', () => { 14 win = null 15 }) 16} 17app.on('ready', createWindow) 18app.on('window-all-closed', () => { 19 if (process.platform !== 'darwin') { 20 app.quit() 21 } 22}) 23app.on('activate', () => { 24 if (win === null) { 25 createWindow() 26 } 27}) 28
界面HTMLindex.html
1<!DOCTYPE html> 2<html> 3<head> 4 <meta charset="UTF-8"> 5 <title>Hello World!</title> 6</head> 7 8<body> 9 <h1>Hello World!</h1> We are using node 10 <script> 11 document.write(process.versions.node) 12 </script>, Chrome 13 <script> 14 document.write(process.versions.chrome) 15 </script>, and Electron 16 <script> 17 document.write(process.versions.electron) 18 </script>. 19</body> 20 21</html>
3.3 运行案例
electron .