webpack高级配置

摇树(tree shaking)

我主要是想说摇树失败的原因(tree shaking 失败的原因),先讲下摇树本身效果

什么是摇树?

举个例子

首先 webpack.config.js配置

const webpack = require("webpack");

/**
 * @type {webpack.Configuration}
 */
module.exports = {
   
  mode: "production"
};

在固定 a.js 用esm导出,b.js用commonjs导出不变动

// a.js
export function f1() {
   
  console.log("11111");
}
export function f2() {
   
  console.log("22222");
}

// b.js
exports.f3 = function () {
   
  console.log("33333");
};
exports.f4 = function () {
   
  console.log("44444");
};

例子1:import a.js 和 require b.js

// index.js
import {
    f1 } from "./a";
import {
    f3 } from "./b";
console.log(f1);
console.log(f3);

打包结果:a.j 和 b.js 都摇树了,只输出了 f1 和 f3。所以导入用import,导出esm和commonjs都可以

image.png

例子2:import a.js 和 import b.js

// index.js
import {
    f1 } from "./a";
const {
    f3 } = require("./b");
console.log(f1);
console.log(f3)<
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值