使用 JavaScript, HTML 和 CSS 構建跨平台的案頭應用

來源:互聯網
上載者:User

標籤:clone   dir   環境   art   asc   大小   orm   start   依賴包   

 

  • https://electronjs.org/ —— 官網
  • https://github.com/electron/electron-api-demos/releases —— 下載demo

 

下載安裝:

# 複製樣本項目的倉庫$ git clone https://github.com/electron/electron-quick-start# 進入這個倉庫$ cd electron-quick-start# 安裝依賴並運行$ npm install && npm start

安裝打包外掛程式/安裝並打包:

npm install electron-packager -g

參數如下為打包執行命令的原型:

electron-packager <sourcedir> <appname> --platform=<platform> --arch=<arch> [optional flags...]
執行如下:
electron-packager . app --win --out presenterTool --arch=x64 --version 1.4.14 --overwrite --ignore=node_modules

成功運行完成後,組建檔案:

點擊查看結果如下:

 



部分參數解釋:
  • rimraf 一個豪華版本的rm -rf,相容window。
  • cross-env 一個豪華版本的環境變數設定,有NODE_ENV=*的地方,就可以考慮使用cross-env,相容window。
  • ./,一般為package.json的位置。具體可以見這裡:https://newsn.net/say/electron-quick-start-modify.html
  • appname,這個會影響你打包完畢的可執行檔(exe/dmg)的名字(appname.exe)。
  • --platform--arch,這兩個參數有非常多的變形。這裡有詳細解釋:https://newsn.net/say/electron-packager-basic.html
  • --win32metadata.FileDescription,檔案描述資訊。見這裡:https://newsn.net/say/electron-packager-exe-info.html
  • --overwrite,是否覆蓋原有的組建檔案。它和下面幾項有關係:--out=out--ignore=outrimraf out
  • --ignore,要排除掉的不打包的檔案,可以疊加效果。主要是出於減少最終檔案大小的考慮。
  • --no-prune,這個參數請慎用,是說不處理node_modules裡面dev依賴包,把相關的代碼都放進最終asar裡面。預設情況下,是會將dev相關的node_modules裡面的包給去除之後,再打包的。注意:目前的最新版electron-packager裡面沒有--prune參數。
  • --electron-version,指定打包時使用的electron的版本。見這裡:https://newsn.net/say/electron-packager-control-version.html 。注意:最新版的electron-packager沒有--version參數。
  • --out打包完的可執行檔,放在在哪裡。
  • --icon設定打包的時候的表徵圖。敲黑板重點,天天有人問如何更換這個表徵圖,就這裡更換。表徵圖製作的問題,請參見:https://newsn.net/say/electron-mac-icns.html 和 https://newsn.net/say/electron-ico-format.html 。表徵圖都是特製的表徵圖,妄圖不製作表徵圖就能完美無缺更換的想法,都是徒勞的。千萬牢記。
  • --asar打包選項,是否在resource檔案夾下面,產生app.asar檔案。否則將會是個app檔案夾加上自己的代碼檔案。

 

使用 JavaScript, HTML 和 CSS 構建跨平台的案頭應用

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.