1、从网上下载的是nodejs的v0.10.42版本的安装文件,安装node-v0.10.42-x86.msi都使用默认安装,安装完成后会安装在C:\Program Files\nodejs\目录下,然后直接把安装的目录C:\Program Files\nodejs\拷贝出来,然后再拷贝到另外一个全新的系统上,假如我放到d:\nodejs\这个目录下,在这个目录中创建一个run.bat文件作为我们的运行环境。

编辑run.bat文件,输入内容如下:

@echo off

echo        ---------- init Node JS environment ---------- & echo.

if not EXIST "%APPDATA%\npm" ( md "%APPDATA%\npm" )
if not EXIST "%cd%\node_global" ( md "%cd%\node_global" )
if not EXIST "%cd%\node_cache" ( md "%cd%\node_cache" ) if not EXIST "%cd%\tmp.txt" ( call npm config set prefix "%cd%\node_global")
if not EXIST "%cd%\tmp.txt" ( call npm config set cache "%cd%\node_cache")
echo.>tmp.txt set path=%cd%\node_global;%cd%;%path%
set node_path=%cd%\node_global\node_modules ::这一步应该可以不需要配置 call npm config get prefix & echo. &echo.
echo ------------------------------------------------------------
call npm config get cache & echo.
echo ============================================================
echo. & echo Node JS system environment is ready & echo. & echo. cmd /k

以上代码我不多解释,相信对你来说都是小意思,现在我们可以双击run.bat这个文件,则打开一个cmd窗口,在这个窗口中你可以切换到任何目录下,然后执行node -v 和 npm -v查看当前node和npm的版本号,如下:

因为可能的wall问题,所以建议把npm的仓库切换到国内taobao仓库,执行下面的命令:

  1. npm config set registry "https://registry.npm.taobao.org/"

2. Electron的安装
因为前面已经启用了node/npm,所以可以采用npm的方法安装Electron。
为了测试的方便,我是在命令行窗口中采用下面的命令:

  1. npm install -g electron

把Electron安装到系统全局中的。你也可以在你开发项目下采用不加'-g'的命令进行安装。

3. 编程环境安装
当前微软提供了一个强大的免费开发工具VISUAL STUDIO CODE ,直接下载安装即可,它支持nodejs等的代码提示,很是方便。

4. 打包输出工具
为了方便最终成果输出,建议安装electron-packager工具,安装也很简单,建议以下面的命令全局安装。

  1. npm install -g electron-packager

5. 如果需要采用git进行版本控制,建议安装git工具
直接在git 下载最新版本的安装即可。

至此实际上开发环境已经搭建好了。下面说一下开发流程。

到空白的项目目录中,打开命令行窗口(也可以打开git bash)
0. 如果需要git,先做

  1. git init

1.构建项目package.json文件

  1. npm init

根据需要输入内容(下面的内容根据Electron Quick start编写)。即在package.json中有如下内容:

  1.  {
    "name" : "electron-quick-start",
    "version" : "1.0.0",
    "main" : "main.js"
    }

2.重新写入依赖

  1. npm install electron --save
  2. npm install electron-packager --save-dev

3.在main.js中输入

  1. const {app, BrowserWindow} = require('electron')
  2. let win
  3. function createWindow () {
  4. win = new BrowserWindow({width: 800, height: 600})
  5. win.loadURL(`file://${__dirname}/index.html`)
  6. win.webContents.openDevTools()
  7. // 处理窗口关闭
  8. win.on('closed', () => {
  9. win = null
  10. })
  11. }
  12. // Electron初始化完成
  13. app.on('ready', createWindow)
  14. // 处理退出
  15. app.on('window-all-closed', () => {
  16. if (process.platform !== 'darwin') {
  17. app.quit()
  18. }
  19. })
  20. app.on('activate', () => {
  21. if (win === null) {
  22. createWindow()
  23. }
  24. })

4. 在index.html中输入

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Hello World!</title>
  6. </head>
  7. <body>
  8. <h1>Hello World!</h1>
  9. node 当前使用的node为<script>document.write(process.versions.node)</script>,
  10. Chrome 为<script>document.write(process.versions.chrome)</script>,
  11. 和 Electron 为<script>document.write(process.versions.electron)</script>.
  12. </body>
  13. </html>

5. 测试执行

  1. electron .

这将打开一个新的窗口,如图
也可以统一纳入npm管理,即在package.json中添加字段定义

  1. "scripts": {
  2. "start":"electron ."
  3. }

这样就可以在命令行中用 npm start 来启动程序。
6. 打包输出

  1. electron-packager . --platform=win32

将在项目目录下建立一个输出文件夹“electron-quick-start-win32-x64”(注意这里的目录名称win32-x64前的部分是package.json中name字段值),里面就是放置的整个项目的打包,可以复制这个文件夹到任何win32环境中运行(其中electron-quick-start.exe其启动文件),这个工作也可以纳入npm统一管理,在package.json
的“scripts”字段下增加子字段定义即可。如:

  1. "scripts": {
  2. "start":"electron .",
  3. "win32pack":"electron-packager . --platform=win32 --overwrite"
  4. }

这样就可以在命令行中用 npm run win32pack 来输出win32环境下的打包程序("--overwrite"选项用于覆盖输出)。

electron 安装的更多相关文章

  1. Electron安装过程深入解析(读完此文解决Electron应用无法启动,无法打包的问题)

    1. 安装Electron依赖包 开发者往往通过npm install(或 yarn add)指令完成为Node.js工程安装依赖包的工作, 安装Electron也不例外,下面是npm和yarn的安装 ...

  2. Electron安装

    1.安装nodejs和npm 官网下载地址:https://nodejs.org/en/download/ 安装包:下载.msi 安装完成后: nodejs.npm都会安装好,path环境变量也自动设 ...

  3. electron安装+运行+打包成桌面应用+打包成安装文件+开机自启动

    1.初始化node项目,生成package.json文件 npm init 2.安装electron,并保存为开发依赖项 npm install electron -D 3.根目录下新建index.j ...

  4. electron安装到第一个实例

    1.node.js下载,然后安装.下载地址:链接:http://pan.baidu.com/s/1o7TONhS 密码:fosa 2.cmd下输入:npm install electron-prebu ...

  5. Electron 安装与使用

    Electron是使用 JavaScript, HTML 和 CSS 构建跨平台的桌面应用 本文基于Windows进行开发的过程,记录下来,以便日后使用,Electron官网:https://elec ...

  6. electron安装与使用

    系统 WIN10 X64 1. python-2.7.15.amd64.msi 2. node-v10.4.1-x64.msi 3. VS2015 community(社区版) 4. npm conf ...

  7. electron 安装失败解决办法

    1.安装node https://nodejs.org/en/download/2.安装镜像工具npm install -g cnpm --registry=https://registry.npm. ...

  8. electron 安装使用

    1.安装 node.js 链接:http://pan.baidu.com/s/1o7W7BIy 密码:y6od 一路next 我安装在F:\Program Files\node.js下 2.检查nod ...

  9. 为Electron 安装 vue-devtool等扩展

    相关代码: https://github.com/WozHuang/Barrage-helper/blob/master/src/main/index.dev.js 在SPA逐渐成为构建优秀交互体验应 ...

随机推荐

  1. null、undefined和NaN的区别

    未定义的值和定义未赋值的值是undefined: null是一种特殊的Object,可以给变量赋一个值null,来清除变量的值: NaN是一种特殊的number:

  2. css hack 浏览器携带自身特有的属性 (二)

    css hack 浏览器携带自身特有的属性,才是我们真正要解决的css 兼容问题. 这里只是分享思路. 举例子: 1 outline,尤其是一些 自带继承特性的属性.这里指的是 隐性的inherite ...

  3. zTree使用随笔

    最近开发过程中,需要写一个公司人员组织架构的树状图,后来选用了依赖jQuery的zTree插件来实现,主要是该插件功能齐全,性能稳定,个性化编辑方便,遂选用了这个插件.我记录了一下根据自身需求定制化修 ...

  4. UVA12906 Maximum Score (组合)

    对于每个元素,最理想的情况就是都在它的左边或者右边,那么sort一下就可以得到一个特解了,然后大的中间不能有小的元素,因为如果有的话,那么无论选小的还是选大的都不是最优.对小的元素来说,比它大的元素在 ...

  5. Problem Q: C语言习题 计算该日在本年中是第几天

    Problem Q: C语言习题 计算该日在本年中是第几天 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 4572  Solved: 2474[Subm ...

  6. Python2 和Python3 的区别

    print Python 2中的print语句被Python 3中的print()函数取代,这意味着在Python 3中必须用括号将需要输出的对象括起来. 在Python 2中使用额外的括号也是可以的 ...

  7. CORS的原理及应用

    CORS的原理及应用 CORS是跨站资源共享,同样是解决浏览器的同源策略 其本质是设置响应头,使得浏览器允许跨域请求. 第三方网站返回数据的时候在浏览器的响应头中添加允许的域名,允许所有的用* 1 简 ...

  8. cocos2dx for lua A*寻路算法实现2

    关于A*算法的实现过程,简单来说就是一个计算权限的过程. 首先,创建一个地图节点类,"MapNode.lua" local MapNode = class("MapNod ...

  9. attachEvent和addEventListener 的使用方法和区别

    attachEvent方法,为某一事件附加其它的处理事件.(不支持Mozilla系列)addEventListener方法 用于 Mozilla系列document.getElementById(&q ...

  10. 【动态规划】51nod1780 完美序列

    巧妙的转化:f前两维大小开反TLE了一发…… 如果一个序列的相邻两项差的绝对值小于等于1,那么我们说这个序列是完美的. 给出一个有序数列A,求有多少种完美序列排序后和数列A相同. Input 第一行一 ...