# 应用部署
为了使用 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 运行
![](https://img.kancloud.cn/87/0f/870f88718560871d7d4ce9c721fa026f_429x32.png)
如果运行的项目与electron.exe不再同一级目录下则加上项目的路径(相对绝对路径都可以)
![](https://img.kancloud.cn/a1/1e/a11e0311c6e9af09fb355d90d8cd72f6_437x52.png)
## 将你的应用程序打包成一个文件
除了通过拷贝所有的资源文件来分发你的应用程序之外,你可以可以通过打包你的应用程序为一个[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_modules本地安装与全局安装
- Inspector
- 模块
- hello world
- 使用nodejs开发桌面客户端应用
- Electron
- api
- 使用 Node.js 的 API
- 事件
- 安装
- 调试
- 读取本地文件
- 调用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区别