<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 功能強大 支持多語言、二開方便! 廣告
                # 入口起點(Entry Points) ## 單個入口(簡寫)語法 用法:`entry: string|Array<string>` **webpack.config.js** ```js const config = { entry: './path/to/my/entry/file.js' }; module.exports = config; ``` `entry` 屬性的單個入口語法,是下面的簡寫: ```js const config = { entry: { main: './path/to/my/entry/file.js' } }; ``` > **當你向 entry 傳入一個數組時會發生什么?**向 `entry` 屬性傳入「文件路徑(file path)數組」將創建**“多個主入口(multi-main entry)”**。在你想要多個依賴文件一起注入,并且將它們的依賴導向(graph)到一個“chunk”時,傳入數組的方式就很有用。 當你正在尋找為「只有一個入口起點的應用程序或工具(即 library)」快速設置 webpack 配置的時候,這會是個很不錯的選擇。然而,使用此語法在擴展配置時有失靈活性。 ## 對象語法 用法:`entry: {[entryChunkName: string]: string|Array<string>}` **webpack.config.js** ```js const config = { entry: { app: './src/app.js', vendors: './src/vendors.js' } }; ``` 對象語法會比較繁瑣。然而,這是應用程序中定義入口的最可擴展的方式。 > **“可擴展的 webpack 配置”** 是指,可重用并且可以與其他配置組合使用。這是一種流行的技術,用于將關注點(concern)從環境(environment)、構建目標(build target)、運行時(runtime)中分離。然后使用專門的工具(如 [webpack-merge](https://github.com/survivejs/webpack-merge))將它們合并。 ## 常見場景 以下列出一些入口配置和它們的實際用例: #### 分離 應用程序(app) 和 第三方庫(vendor) 入口 **webpack.config.js** ```js const config = { entry: { app: './src/app.js', vendors: './src/vendors.js' } }; ``` **這是什么?** 從表面上看,這告訴我們 webpack 從 `app.js` 和 `vendors.js` 開始創建依賴圖(dependency graph)。這些依賴圖是彼此完全分離、互相獨立的(每個 bundle 中都有一個 webpack 引導(bootstrap))。這種方式比較常見于,只有一個入口起點(不包括 vendor)的單頁應用程序(single page application)中。 **為什么?** 此設置允許你使用 `CommonsChunkPlugin` 從「應用程序 bundle」中提取 vendor 引用(vendor reference) 到 vendor bundle,并把引用 vendor 的部分替換為 `__webpack_require__()` 調用。如果應用程序 bundle 中沒有 vendor 代碼,那么你可以在 webpack 中實現被稱為[長效緩存](https://doc.webpack-china.org/guides/caching)的通用模式。 > 為了支持提供更佳 vendor 分離能力的 DllPlugin,考慮移除該場景。 ### 多頁面應用程序 **webpack.config.js** ```js const config = { entry: { pageOne: './src/pageOne/index.js', pageTwo: './src/pageTwo/index.js', pageThree: './src/pageThree/index.js' } }; ``` **這是什么?** 我們告訴 webpack 需要 3 個獨立分離的依賴圖(如上面的示例)。 **為什么?** 在多頁應用中,(譯注:每當頁面跳轉時)服務器將為你獲取一個新的 HTML 文檔。頁面重新加載新文檔,并且資源被重新下載。然而,這給了我們特殊的機會去做很多事: - 使用 `CommonsChunkPlugin` 為每個頁面間的應用程序共享代碼創建 bundle。由于入口起點增多,多頁應用能夠復用入口起點之間的大量代碼/模塊,從而可以極大地從這些技術中受益。 > 根據經驗:每個 HTML 文檔只使用一個入口起點。
                  <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>

                              哎呀哎呀视频在线观看