elections打包

参考:

https://segmentfault.com/a/1190000007206301

http://www.shennongmin.org/?p=584

1.在应用目录打开命令行,需要进入根目录

常规打包需要用到electron-packager模块,所以先在命令行中输入npm install --save-dev electron-packager安装。


2.package.json里添加一条打包命令,免得每次打包都要输入一长串命令。

与webpack的命令类似
"scripts": {
   

"package": "electron-packager ./ yunfu --win --out ./outApp --arch=x64 --version 1.0.0 --overwrite --ignore=node_modules"




参数说明
electron-packager <location of project> <name of project> <platform> <architecture> <electron version> <optional options>
location of project:应用目录;
name of project:应用名称;
platform:要打包的平台;
architecture:x86 or x64架构;
electron version:electron 版本(不是应用版本);
optional options:其它选项;


3.执行npm run-script package开始打包。此时打包成功是类似免安装的版本。
  打包完毕后,会多出来一个目录,比如我的是taobao,打开之后,会有一个taobao-win32-x64目录,里面就是打包生成的各种文件。


========================================================================================================

注意:之后操作的路径:

在之前打包之后,新建的文件夹根目录下面

我的,就是在当前目录的 outApp文件夹下面,这是我常规打包的输出目录

输出exe安装文件,需要在之前,常规的打包方式下面进行....



4.打包成安装版,在上面的步骤之后继续下去,在生成的outApp文件夹下,有taobao-win32-x64文件夹,在此文件夹的同层进行处理。


5.新建package.json文件,package.json的内容可以简单写下:
{
  "name": "taobao",
  "version": "1.0.0"  
}


6.打开命令行,(之前,在这一步出的问题--没有装grunt-cli)

输入npm install grunt-electron-installer --save-dev安装grunt-electron-installer模块,

再安装grunt -cli,npm install -g grunt-cli,

接着输入npm install grunt --save-dev安装grunt。


7.配置Gruntfile.js。新建一个Gruntfile.js文件,并配置gurnt.config,我的配置如下:
var grunt = require("grunt");
grunt.config.init({
    pkg: grunt.file.readJSON('package.json'),
    'create-windows-installer': {
        x64: {
            appDirectory: 'taobao-win32-x64',
            authors: 'zf.',
            exe: 'taobao.exe',
            description:"taobao",
        }       
    }
})


grunt.loadNpmTasks('grunt-electron-installer');
grunt.registerTask('default', ['create-windows-installer']);


8.grunt打包,输入grunt。(不是npm grunt)


9.在main.js里加入生成快捷方式的功能。


//添加监听并生成快捷方式
var handleStartupEvent = function () {
  if (process.platform !== 'win32') {
    return false;
  }


  var squirrelCommand = process.argv[1];


  switch (squirrelCommand) {
    case '--squirrel-install':
    case '--squirrel-updated':
      install();
      return true;
    case '--squirrel-uninstall':
      uninstall();
      app.quit();
      return true;
    case '--squirrel-obsolete':
      app.quit();
      return true;
  }
    // 安装
  function install() {
    var cp = require('child_process');    
    var updateDotExe = path.resolve(path.dirname(process.execPath), '..', 'update.exe');
    var target = path.basename(process.execPath);
    var child = cp.spawn(updateDotExe, ["--createShortcut", target], { detached: true });
    child.on('close', function(code) {
        app.quit();
    });
  }
   // 卸载
   function uninstall() {
    var cp = require('child_process');    
    var updateDotExe = path.resolve(path.dirname(process.execPath), '..', 'update.exe');
    var target = path.basename(process.execPath);
    var child = cp.spawn(updateDotExe, ["--removeShortcut", target], { detached: true });
    child.on('close', function(code) {
        app.quit();
    });
  }


};


if (handleStartupEvent()) {
  return;
}



10.版本更新的时候:

重新打包  进入项目的根目录:

npm run-script package开始打包

重新创建安装文件:

进入outAppk路径下面:

grunt                     

貌似会报错,但是效果也是可以实现的....   不知道为毛









  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值