<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      webpack生產(chǎn)環(huán)境優(yōu)化:tree shaking

      轉(zhuǎn)載請注明 來源:http://www.eword.name/
      Author:eword
      Email:eword@eword.name

      webpack生產(chǎn)環(huán)境優(yōu)化:tree shaking

      • tree shaking: 去除無用代碼
        • 前提:
          • 1.必須使用ES6模塊化
          • 2.開啟production環(huán)境

      1一、核心配置

      ```js
      /*
          webpack.config.js webpack的配置文件
          路徑: ./webpack.config.js
      */
      
          // 生產(chǎn)環(huán)境下會自動壓縮js代碼,和啟用tree shaking
          mode: 'production',
      };
      
      

      二、驗(yàn)證tree shaking是否生效

      2.1、工程文件目錄

      .
      ├── src
      │   ├── css
      │   │   ├── iconfont.css
      │   │   ├── index.css
      │   │   └── index.less
      │   ├── imgs
      │   │   ├── img.jpg
      │   │   ├── img1.jpg
      │   │   ├── img2.jpg
      │   │   └── img3.jpg
      │   ├── index.html
      │   ├── js
      │   │   ├── iconfont.js
      │   │   ├── index.js          // 引入test.js文件的部分函數(shù)
      │   │   └── test.js           // 使用ES6模塊化的js 文件
      │   └── media
      │       ├── iconfont.json
      │       └── iconfont.ttf
      └── webpack.config.js
      

      2.1.1、test.js

      //路徑:./src/js/test.js
      
      export function mul(x, y) {
          return x * y;
      }
      
      export function count(x, y) {
          return x - y;
      }
      
      

      2.1.2、index.js

      //入口文件
      //路徑: ./src/js/indexjs
      
      // 引入 test.js中的  mul 函數(shù)
      import { mul } from './test';
      
      // eslint-disable-next-line
      console.log(mul(2, 3));
      
      

      2.2、打包

      > npx webpack
      

      2.3、驗(yàn)證方法

      打開打包生成的js文件,分別查找 乘法和減法,其中乘法可以找到而減法找不到。

      三、tree shaking 副作用

      某些情況下 tree shaking 可能會誤刪除。
      例如:在packlage.json中配置了sideEffects

      {
        "name": "notes_demo",
        "version": "1.0.0",
        "description": "",
        "main": "index.js",
        "scripts": {
          "test": "echo \"Error: no test specified\" && exit 1",
          "build": "node_modules/.bin/webpack --config webpack.config.js",
          "start": "npx webpack-dev-server --config webpack.config.js --open Chrome.exe"
        },
        "keywords": [],
        "author": "eword <eword@eword.name> (http://www.eword.name/)",
        "license": "ISC",
        "devDependencies": {
          "@babel/core": "^7.14.6",
          "@babel/preset-env": "^7.14.7",
          "babel-loader": "^8.3.0",
          "core-js": "^3.32.1",
          "css-loader": "^3.4.2",
          "eslint": "^7.32.0",
          "eslint-config-airbnb-base": "^15.0.0",
          "eslint-loader": "^4.0.2",
          "eslint-plugin-import": "^2.28.1",
          "file-loader": "^5.0.2",
          "find-cache-dir": "^5.0.0",
          "html-loader": "^0.5.5",
          "html-webpack-plugin": "^4.5.2",
          "install": "^0.13.0",
          "less": "^3.11.1",
          "less-loader": "^5.0.0",
          "mini-css-extract-plugin": "^0.9.0",
          "optimize-css-assets-webpack-plugin": "^5.0.3",
          "postcss-loader": "^3.0.0",
          "postcss-preset-env": "^6.7.0",
          "style-loader": "^1.1.3",
          "uninstall": "0.0.0",
          "url-loader": "^3.0.0",
          "webpack": "^4.41.6",
          "webpack-cli": "^3.3.11",
          "webpack-dev-server": "^3.10.3"
        },
        "browserslist": {
          "development": [
            "last 1 chrome version",
            "last 1 firefox version",
            "last 1 safari version",
            "ie 9-12"
          ],
          "production": [
            ">0.2%",
            "not dead",
            "not op_mini all"
          ]
        },
        "eslintConfig": {
          "extends": "airbnb-base"
        },
        "sideEffects": false
      }
      

      核心配置

      /所有代碼都沒有副作用(都可以進(jìn)行tree shaking)

       "sideEffects": false
      

      問題:可能會把css /@babel/polyfill 等文件干掉(副作用)。

      解決方式

      修改sideEffects配置

      "sideEffects": ["*.css","*.less"]
      

      通過配置css和less文件不會被tree shaking。

      posted @ 2023-08-28 22:19  Eword  閱讀(99)  評論(0)    收藏  舉報(bào)
      主站蜘蛛池模板: 亚洲天堂伊人久久a成人| 中文日产幕无线码一区中文| 久久亚洲精品人成综合网| 亚洲欧美成人一区二区在线电影| 国产成人精品一区二区三区| 国产成人精品亚洲资源| 亚洲精品熟女一区二区| 亚洲夜色噜噜av在线观看| 日韩av在线不卡一区二区| 国产成人精品无码播放| 国产精品午夜福利免费看| 国产亚洲另类无码专区| 天天澡日日澡狠狠欧美老妇| 2019nv天堂香蕉在线观看| 国产午夜视频在线观看| 中文午夜乱理片无码| 国产精品自拍自在线播放| 欧美高清一区三区在线专区| 亚洲综合精品一区二区三区 | 麻豆国产AV剧情偷闻女邻居内裤| 最新国产精品拍自在线观看| 亚洲国产精品自在拍在线播放蜜臀| 精品久久久久久中文字幕| 精品一日韩美女性夜视频| 亚洲中文字幕一区二区| 赣州市| 亚洲AV永久无码嘿嘿嘿嘿| CAOPORN免费视频国产| 国产不卡一区二区在线| 国产精品国产精品国产专区| jlzz大jlzz大全免费| 影音先锋大黄瓜视频| 美日韩精品一区三区二区| 精品久久国产字幕高潮| 国产va免费精品观看| 亚洲中文字幕无码中字| 午夜成人鲁丝片午夜精品| 国产国产人免费人成免费| 精品日韩亚洲AV无码| 国产成人午夜福利在线播放| 中文字幕日韩精品亚洲一区|