close

1.JPG

[Electron學習筆記]Electron專案建立有講解如何將Electron打包成執行檔,下一步就是要Electron執行檔打包成安裝檔,在這過程每一個步驟都非常重要,所以會完整講解

#Step One: 到Electron GitHub載點下載Electron程式集,下載完成解完壓縮後,開啟Visual Studio Code這軟體來安裝並執行Electron,

Visual Studio Code官方網站

在終端機依次輸入

cd electron-quick-start

npm install && npm start

顯示結果如下,

4.JPG

#Step Two: 在Visual Studio Code終端機輸入

npm install electron-packager --save-dev

在electron-quick-start-master->package.json中的"devDependencies"中會多出electron-packager與版本,如下所示, 

6.JPG

接下來需要在"scripts"增加執行electron-packager的指令,指令如下,

"build":"electron-packager . MyApp --platform=win32 --arch=x64 --version=1.7.10

--icon=icons/Mushroom.ico --asar=true --out=dist --ignore=node_modules/electron-* 

--version-string.CompanyName=MyApp --version-string.ProductName=MyApp"

指令內容說明如下:

electron-packager . MyApp: 將目前全部資料打包成MyApp這個名字

--platform = darwin(Mac),win32(Windows),linux(LINUX)

--arch = ia32,x64,all

--version = Electron版本

--icon = icon路徑

--asar = true or false,設定trun是把程式文件封裝,比較不容易被看到原始碼

--out = 輸出文件名稱(dist)

--ignore = 忽略檔案不要打包,建議把electron都忽略掉,因為打包後裡面就有了,可以減少檔案大小

--version-string.CompanyName = 新增安裝檔公司名稱

--version-string.ProductName = 新增安裝檔產品名稱

#Step Three: 為了使Electron安裝檔在安裝完後,能產生捷徑讓使用者分辨操作,需在electron-quick-start-master->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;
}

1.JPG

2.JPG

#Step Four: 把Step Two與Step Three完成後,就可執行

npm run build

執行後需等一段時間,就產生dist資料夾,如下所示,

12.JPG

進入electron-quick-start-master->dist->MyApp-win32-x64中找MyApp.exe,如下所示,

13.JPG

點擊後開啟結果如下,

14.JPG

#Step Five: 在electron-quick-start-master->dist資料夾內新增Gruntfile.js與package.json這兩隻程式,如下所示,

3.JPG

Gruntfile.js程式如下,

var grunt=require('grunt');

grunt.config.init({
    pkg: grunt.file.readJSON('package.json'),
    'create-windows-installer': {
        x64:{
            /* 安裝檔版本 */
            version:'1.0.0',
            /* 作者 */
            authors:'MichaelJheng',
            /* 在應用程式與功能之圖示 */
            iconUrl: 'http://www.icons101.com/icon_ico/id_36436/Mushroom__1UP.ico',
            /* 執行檔位置 */
            appDirectory:'./MyApp-win32-x64',
            /* 打包匯出路徑 */
            outputDirectory:'./OutPut',
            /* exe名稱 */
            exe:'MyApp.exe',
            /* 描述 */
            description:'MyApp',
            /* 安裝檔圖示 */
            setupIcon:"../icons/Mushroom.ico",
            /* 不要產生Msi檔 */
            noMsi:true
        }
    }
});
/* 加載任務 */
grunt.loadNpmTasks('grunt-electron-installer');
/* 設置為默認 */
grunt.registerTask('default', ['create-windows-installer']);

4.JPG

package.json程式如下,

{
  "name": "electron-quick-start",
  "version": "1.0.0"
}

5.JPG

#Step Six: 在Visual Studio Code終端機執行如下指令,

cd dist
npm install -g grunt-cli
npm install grunt --save-dev
npm install grunt-electron-installer --save-dev

在electron-quick-start-master->dist中的package.json會出現以下程式,

6.JPG

#Step Seven: 以上完成後在electron-quick-start-master->dist路徑下執行

grunt

7.JPG

將執行檔打包成安裝檔,打包完成終端機顯示如下,

8.JPG

會出現安裝檔資料夾OutPut,

9.JPG

OutPut資料夾的內容,

10.JPG

#Step Eight: 點擊Setup.exe來安裝程式,安裝過程會出現以下git動畫來顯示安裝中,

11.JPG

安裝完會自動執行程式,如下所示,

14.JPG

在電腦桌面有出現捷徑,如下所示,

12.JPG

在所有程式會找到,

13.jpg

應用程式與功能會找到,

14.JPG

此安裝檔無法選擇安裝路徑,預設安裝路徑為\AppData\Local\electron-quick-start,

15.JPG

arrow
arrow
    創作者介紹
    創作者 鄭智遠 的頭像
    鄭智遠

    Michael_Jheng的部落格

    鄭智遠 發表在 痞客邦 留言(1) 人氣()