美文网首页
webpack之Tree Shaking

webpack之Tree Shaking

作者: lesdom | 来源:发表于2019-07-26 08:35 被阅读0次

    释义

    当我们使用ES Module引入模块的时候,可能只引入了一部分,并没有全部引入。
    但是打包的时候会把整个引入的文件全部打包。
    为了只打包我们引入的部分,使用Tree Shaking

    // 我们只引入了one,但是会把file.js整个文件都打包
    import { one } from 'file.js'
    

    支持

    Tree Shaking 只支持 ES Module

    代码

    package.json

    "sideEffects": false,
    "version": "1.0.0",
    

    当引入的一些文件没有暴露内容时,Tree Shaking会忽略掉这部分内容,但是这部分代码也是需要打包的
    main.js

    import './assets/css/base.css'
    

    比如一些css内容,所以需要在package.json中配置这些内容不需要Tree Shaking

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

    其他示例

    // 实际上@babel/polly-fill并不需要import引入,所以不需要配置
    "sideEffects": [ "@babel/polly-fill" ],
    

    开发模式:development

    webpack.config.js

    const path = require('path');
    
    module.exports = {
      mode: 'development',
      optimization: { // Tree Shaking
        usedExports: true
      },
      entry: './src/index.js',  // 入口文件
      output: {
        filename: 'bundle.js',  // 文件名
        path: path.resolve(__dirname, 'dist')  // 文件夹
      }
    }
    

    开发模式:production

    不需要配置

    网站导航

    网站导航

    相关文章

      网友评论

          本文标题:webpack之Tree Shaking

          本文链接:https://www.haomeiwen.com/subject/vwblrctx.html