# 應用部署
為了使用 Electron 部署你的應用程序,你存放應用程序的文件夾需要叫做`app`并且需要放在 Electron 的 資源文件夾下(在 OS X 中是指`Electron.app/Contents/Resources/`,在 Linux 和 Windows 中是指`resources/`)就像這樣:
在 OS X 中:
~~~
electron/Electron.app/Contents/Resources/app/
├── package.json
├── main.js
├── renderer.js
└── index.html
~~~
在 Windows 和 Linux 中:
>新版本在D:\nodejs\node_modules\electron\dist\resources\app
~~~
electron/resources/app
├── package.json
├── main.js
├── renderer.js
└── index.html
~~~
然后運行`Electron.app`(或者 Linux 中的`electron`,Windows 中的`electron.exe`), 接著 Electron 就會以你的應用程序的方式啟動。`electron`文件夾將被部署并可以分發給最終的使用者。
eg:windows 運行

如果運行的項目與electron.exe不再同一級目錄下則加上項目的路徑(相對絕對路徑都可以)

## 將你的應用程序打包成一個文件
除了通過拷貝所有的資源文件來分發你的應用程序之外,你可以可以通過打包你的應用程序為一個[asar](https://github.com/atom/asar)庫文件以避免暴露你的源代碼。
為了使用一個`asar`庫文件代替`app`文件夾,你需要修改這個庫文件的名字為`app.asar`, 然后將其放到 Electron 的資源(resources)文件夾下,然后 Electron 就會試圖讀取這個庫文件并從中啟動。 如下所示:
在 OS X 中:
~~~
electron/Electron.app/Contents/Resources/
└── app.asar
~~~
在 Windows 和 Linux 中:
~~~
//electron/resources/
D:/nodejs/node_modules/electron/dist/resources/
└── app.asar
~~~
更多的細節請見[Application packaging](https://wizardforcel.gitbooks.io/electron-doc/content/tutorial/application-packaging.html).
## 更換名稱與下載二進制文件
在使用 Electron 打包你的應用程序之后,你可能需要在分發給用戶之前修改打包的名字。
### Windows
你可以將`electron.exe`改成任意你喜歡的名字,然后可以使用像[rcedit](https://github.com/atom/rcedit)編輯它的 icon 和其他信息。
### OS X
你可以將`Electron.app`改成任意你喜歡的名字,然后你也需要修改這些文件中的`CFBundleDisplayName`,`CFBundleIdentifier`以及`CFBundleName`字段。 這些文件如下:
* `Electron.app/Contents/Info.plist`
* `Electron.app/Contents/Frameworks/Electron Helper.app/Contents/Info.plist`
你也可以重命名幫助應用程序以避免在應用程序監視器中顯示`Electron Helper`, 但是請確保你已經修改了幫助應用的可執行文件的名字。
一個改過名字的應用程序的構造可能是這樣的:
~~~
MyApp.app/Contents
├── Info.plist
├── MacOS/
│ └── MyApp
└── Frameworks/
├── MyApp Helper EH.app
| ├── Info.plist
| └── MacOS/
| └── MyApp Helper EH
├── MyApp Helper NP.app
| ├── Info.plist
| └── MacOS/
| └── MyApp Helper NP
└── MyApp Helper.app
├── Info.plist
└── MacOS/
└── MyApp Helper
~~~
### Linux
你可以將`electron`改成任意你喜歡的名字。
## 通過重編譯源代碼來更換名稱
通過修改產品名稱并重編譯源代碼來更換 Electron 的名稱也是可行的。 你需要修改`atom.gyp`文件并徹底重編譯一次。
### grunt打包腳本
手動檢查 Electron 代碼并重編譯是很復雜晦澀的,因此有一個Grunt任務可以自動的處理 這些內容[grunt-build-atom-shell](https://github.com/paulcbetts/grunt-build-atom-shell).
這個任務會自動的處理編輯`.gyp`文件,從源代碼進行編譯,然后重編譯你的應用程序的本地 Node 模塊以匹配這個新的可執行文件的名稱。
- npm
- 更新
- 基礎
- Api
- 安裝Node
- node_modules本地安裝與全局安裝
- Inspector
- 模塊
- hello world
- 安裝插件的版本
- 更新package.json文件的插件版本
- 使用nodejs開發桌面客戶端應用
- Electron
- api
- 使用 Node.js 的 API
- 事件
- electron配置
- 安裝
- 調試
- 讀取本地文件
- 調用Html5的拖放api
- 官方示例下載
- WebView內嵌窗口
- window.open彈出子窗口及其操作
- BrowserWindow渲染主窗口
- 主進程與渲染進程的通信
- 菜單
- 網絡
- 與react結合
- 打包
- 前言
- 對比
- electron-forge
- 打包工具一:electron-packager
- 打包工具二:electron-builder
- Boilerplates樣板工程
- 通用配置文檔
- NW.js
- npm install、npm install --save與npm install --save-dev區別