2015年12月17日 星期四

[Node.js] Electron 發佈成可執行檔 APP

Electron v0.36.0
https://github.com/atom/electron/blob/master/docs/tutorial/application-distribution.md
官網文件,看不懂 (未來應該會修正)

後來查了一下原來要裝 electron-packager
(Ref:https://www.youtube.com/watch?v=dz5SnmBzBXc (舊版 youtube 教學)

安裝 electron-packager

https://www.npmjs.com/package/electron-packager
# for use in npm scripts 
npm install electron-packager --save-dev
 
# for use from cli 
npm install electron-packager -g

修改 package.json

  "scripts": {
    "start": "electron main.js",
    "build_mac": "electron-packager . MyApp --platform=darwin --arch=x64 --version=0.36.0 --icon=myapp.icns --asar=true --ignore=node_modules/electron-* ",
    "build_win32": "electron-packager . MyApp --platform=win32 --arch=x64 --version=0.36.0 --icon=myapp.ico --asar=true --ignore=node_modules/electron-* ",
    "build_linux": "electron-packager . MyApp --platform=linux --arch=x64 --version=0.36.0 --icon=myapp.png --asar=true --ignore=node_modules/electron-* "
  },
electron-packager . MyApp 把目前目錄打包成 MyApp 這個名字的 app

--platform:平台
有那些 platform 可以看這個連結
https://github.com/atom/electron/releases

--arch:ia32, x64, all

--version:這裡指的是 electron 的版本
版本建議跟開發的 electron 的版本相同,此時我是使用 0.36.0

--icon:app 的 icon

--asar:true or false 把 source 封裝,比較不容易被看到原始碼

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

要注意 node_modules 是要在 npm install 後的狀態下打包,不要清除

發佈

# Windows  x64
npm run build_win32

# MAC OS X 
npm run build_mac

# LINUX
npm run build_linux
執行完會在此目錄下產生一個新資料夾
像 win32 會出現 MarkApp-win32-x64 ,然後裡面有執行檔
另外此版本的 0.36.0 electron win32 還是怪怪的,開幾次就掛了,而且關不掉
建議先用 npm start 來執行





沒有留言:

張貼留言