# 主進程
> 在 Electron 中,運行 package.json 主腳本的過程稱為主進程 (main process)。在主進程中運行的腳本可以通過創建網頁來顯示其圖形化界面。
**摘自** [**Electron 文檔**](http://electron.atom.io/docs/tutorial/quick-start/#main-process)
---
由于 `main` 進程本質上是一個完整的 node 環境,所以除了以下兩個文件之外,并沒有什么初始的項目結構。
#### `src/main/index.js`
這個文件是你應用程序的主文件,`electron` 也從這里啟動。它也被用作 `webpack` 產品構建的入口文件。所有的 `main` 進程工作都應該從這里開始。
#### `app/src/main/index.dev.js`
這個文件專門用于開發階段,因為它會安裝 `electron-debug` 和 `vue-devtools`。一般不需要修改此文件,但它可以用于擴展你開發的需求。
## 關于 `__dirname` 與 `__filename` 的使用
由于 `main` 進程是使用 `webpack` 來綁定的,所以使用 `__dirname` 和 `__filename` **將不會** 在產品階段給你提供一個預期的值。若參考 [**文件樹**](/file-tree.md) 你會注意到,在產品階段,`main.js` 被放在了 `dist/electron` 文件夾里面。應根據此點相應地使用 `__dirname` 和 `__filename`。
**如果你需要 `static/` 資源目錄的路徑,請務必閱讀** [**使用靜態資源**](/using-static-assets.md) **學習了解非常方便的 `__static` 變量。**
```
app.asar
├─ dist
│ └─ electron
│ ├─ static/
│ ├─ index.html
│ ├─ main.js
│ └─ renderer.js
├─ node_modules/
└─ package.json
```