<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # Build System Overview Electron 使用 [gyp](https://gyp.gsrc.io/) 來生成項目 ,使用 [ninja](https://ninja-build.org/) 來構建項目. 項目配置可以在 `.gyp` 和 `.gypi` 文件中找到. ## Gyp 文件 下面的 `gyp` 文件包含了構建 Electron 的主要規則 : * `atom.gyp` 定義了 Electron 它自己是怎樣被構建的. * `common.gypi` 調整 node 的構建配置,來讓它結合 Chromium 一起構建. * `vendor/brightray/brightray.gyp` 定義了 `brightray` 是如何被構建的,并且包含了默認配置來連接到 Chromium. * `vendor/brightray/brightray.gypi` 包含了常用的創建配置. ## 創建組件 在 Chromium 還是一個相當大的項目的時候,最后鏈接階段會花了好幾分鐘,這讓開發變得很困難. 為了解決這個困難,Chromium 引入了 "component build" ,這讓每個創建的組建都是分隔開的共享庫,讓鏈接更快,但是這浪費了文件大小和性能. 在 Electron 中,我們采用了一個非常相似的方法 : 在創建 `Debug` , 二進制文件會被鏈接進入一個 Chromium 組件的共享版本庫來達到快速鏈接; 在創建 `Release`, 二進制文件會被鏈接進入一個靜態版本庫, 所以我們可以有最小的二進制文件size和最佳的體驗. ## Minimal Bootstrapping 在運行 bootstrap 腳本的時候,所有的 Chromium 預編譯二進制文件會被下載.默認靜態庫和共享庫會被下載,并且項目的最后大小會在 800MB 到 2GB 之間,這取決于平臺類型. 默認,`libchromiumcontent` 是從 Amazon Web Services 上下載下來的.如果設置了 `LIBCHROMIUMCONTENT_MIRROR` 環境變量,bootstrap腳本會從這里下載下來. [`libchromiumcontent-qiniu-mirror`](https://github.com/hokein/libchromiumcontent-qiniu-mirror) 是 `libchromiumcontent` 的映射.如果你不能連接 AWS,你可以切換下載路徑:`export LIBCHROMIUMCONTENT_MIRROR=http://7xk3d2.dl1.z0.glb.clouddn.com/` 如果只是想快速搭建一個 Electron 的測試或開發環境,可以通過 `--dev` 參數只下載共享版本庫: ```bash $ ./script/bootstrap.py --dev $ ./script/build.py -c D ``` ## Two-Phase Project Generation 在 `Release` 和 `Debug` 構建的時候后,Electron 鏈接了不同配置的庫 .然而 `gyp`不支持為不同的配置文件進行不同的鏈接設置. 為了規避這個問題,Electron 在運行 `gyp` 的時候,使用了一個 `gyp` 的變量 `libchromiumcontent_component`來控制應該使用哪個鏈接設置,并且只生成一個目標. ## Target Names 與大多數的項目不同,它們使用 `Release` 和 `Debug` 作為目標名字,而 Electron 使用使用的是 `R` 和 `D`.這是因為如果只定義了一個 `Release` 或 `Debug` 構建配置,`gyp` 會隨機崩潰,并且在同一時候,Electron 只生成一個目標,如上所述. 這只對開發者可用,如果想重新構建 Electron ,將不會成功.
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看