<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>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                #### Entry 如果entry是一個object,就代表有多個入口文件(就會出現多個chunk),chunk的名稱就是object里的key。 #### Output 多個chunk輸出時,需要借助模板變量來區分。 ``` filename: '[name].js' //模板變量 ``` * id:chunk的唯一標識,從0開始 * name:chunk的名稱 * hash:chunk唯一標識的hash值 * chunkhash:chunk內容的hash值 (chunk)hash值還可以指定位數:`filename: '[chunkhash:8]'` chunkFilename:用于按需加載 ``` chunkFilename: [id].js //入口 //假設async是需要異步加載的模塊 onclick = () => import('./async.js').then(data => console.log(data)); //打開瀏覽器,你會發現你實際加載的會是0.js ``` publicPath:按需加載和需要單獨提取的資源(如使用url-loader和file-loader的圖片)的基本路徑。publicPath默認是參考自html的路徑的,比如 ``` css ----main.css image ----bk.jpg(很大) js ----main.js ----async.js pages ----index.html ``` 我在main的js中異步加載async.js,實際上打完包后它加載的是`pages/0.js`,而實際上該目錄下沒有這個js。這時我就要將publicPath修改為`../`。其他資源與異步加載的js同理,都需要將publicPath修改成正常路徑,比如: ``` //css文件 background: url('../image/bk.jpg') //js import from '../main.css'; ``` 打包后,css將變成`background: url('絕對路徑/pages/bk.jpg')`,你需要將publicPath修改成`../image/`,css就變成了`background: url('絕對路徑/image/bk.jpg')`。 webpack的按需加載的原理就是使用Jsonp,動態向html中插入一段js代碼來異步請求資源。 #### Module #### Resolve webpack會在啟動后從entry出發找到所有模塊,這會影響打包速度 alias:通過別名來更改導入的路徑 ``` resolve: { alias: { components: './src/components/' } } //js import Button from 'components/button' //就變成了 import Button from './src/components/button ``` extensions:導入語句沒有后綴時,webpack會自動帶上后綴去訪問文件,在這里配置后綴 ``` resolve: { extensions: ['.js', '.json'] } ``` modules:告訴webpack去哪些目錄下尋找第三方模塊,默認是node_modules。如果我們自己的某些模塊被其他地方大量引用,可能會出現 `import Button from '../../../common/component/button'`這樣的情況,我們也可以把Button當成第三方模塊修改默認的引入路徑 ``` resolve: { modules: ['./common/component', 'node_modules'] } //js import Button from 'button' ``` #### 其他 Devtool:告訴webpack如何生存source map,默認是false不生成。 ``` module.exports = { devtool: 'source-map' } ``` Externals:告訴webpack哪些模塊不用被打包進來,多用于第三方庫或框架,不用將它們打包進來以減少模塊體積,直接使用src引入即可,在代碼里你仍可以使用模塊的方式引入它們 ``` module.exports = { externals: { 'react': 'React', 'react-dom': 'ReactDOM' } } //html <script src="//cdn/react.js"/> <script src="//cdn/react-dom.js"/> //js //仍然可以這樣引入 import React from 'react'; import ReactDOM from 'react-dom'; ``` #### 配置類型 除了導出一個對象外,webpack還支持導出一個函數,return一個對象或者return promise(用于含有異步操作)。 ``` module.exports = function(env = {}, argv) { const plugins = []; return { modules: {}, plugins, devtool: 'source-map', externals: {} } } module.exports = function(env = {}, argv) { return new Promise((resolve, reject) => { //你還可以做其他的異步操作,直到所有異步操作完成后,resovle webpack的配置 setTimeout(() => { resolve({ modules: {}, plugins, devtool: 'source-map', externals: {} }) }) }) } ```
                  <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>

                              哎呀哎呀视频在线观看