首页 > 其他分享 >为什么commonjs不能treeshaking

为什么commonjs不能treeshaking

时间:2023-03-12 21:36:40浏览次数:43  
标签:为什么 commonjs js treeshaking import 写法 依赖图

因为只有模块是静态导入时,treeshaking才有效果,commonjs可以有如下写法

if(flag){
  require('./a.js')
}else{
  require('./b.js')
}

我是这样理解的,在代码没有运行之前,还无法确实什么模块会被引用,也就是无法确定依赖图,依赖图都没有确定,在运行时,怎么treeshaking??
而esmodule,只能静态导入,不能有这样的写法

if(flag){
  import './a.js'
}else{
  import './b.js'
}

只能有这样的写法

import './a.js'
import './b.js'

webpack在代码运行前就会分析依赖图,在运行时进行treeshaking

标签:为什么,commonjs,js,treeshaking,import,写法,依赖图
From: https://www.cnblogs.com/jjfgogo/p/17209169.html

相关文章

  • 泰勒1.4 解决为什么加减不能直接等价
    前置知识当数a比较小的时候,\(a^2\)更加小当然这只代表个人理解,有错欢迎纠错阿里嘎多本质:阶级是函数首项确定的如:这也间接说明为什么乘法可以直接代换sinX-ta......
  • 文件上传之本来好好的上传为什么忽然无法上传了
    前置条件springboot单jar包后端服务,有个功能,需要导入文件。测试通过了,也发到了现场,感觉很好。忽然有一天,现场丢过来一个报错排查过程先在公司服务器上了试了下,复现了。......
  • 为什么说PostgreSQL是最先进的关系型数据库
    公众号:MCNU云原生,文章首发地,欢迎微信搜索关注,更多干货,第一时间掌握!@目录一、PostgreSQL是什么?二、PostgreSQL的功能和特点三、PostgreSQL对比MySQL有哪些优势?四、PostgreS......
  • 为什么博客写的少了
    因为写markdown的时候,习惯于用软件写,然后图片用的是相对路径,然后写完往博客上转就要处理网络图床的问题,很是麻烦的.所以,我比较喜欢本地写完,然后上传到git仓库......
  • 为什么 Go 语言 struct 要使用 tags
    原文链接:为什么Go语言struct要使用tags在Go语言中,struct是一种常见的数据类型,它可以用来表示复杂的数据结构。在struct中,我们可以定义多个字段,每个字段可以有不......
  • 「密码学」哈希为什么要将盐加在明文后面?
    众所周知,在做消息认证或者签名时,仅使用hash函数安全性是不高的,容易遭受字典和暴力破解(https://www.cmd5.com/)。所以通常会使用带密钥或加盐的哈希算法作为消息认证或者口......
  • Redis为什么这么快
    1、Redis是一款纯内存结构,避免了磁盘I/O等耗时操作。2、Redis命令处理的核心模块为单线程,减少了锁竞争,以及频繁创建线程和销毁线程的代价,减少了线程上下文切换的消耗......
  • Java基础——HashMap 的长度为什么是 2 的幂次方
    HashMap的长度为什么是2的幂次方为了能让HashMap存取高效,尽量较少碰撞,也就是要尽量把数据分配均匀。我们上面也讲到了过了,Hash值的范围值-2147483648到2147483647......
  • 【js】CommonJS、AMD、CMD三种规范
    前言这三个规范都是为Js模块化加载而生的,使模块能够按需加载,使系统同庞杂的代码得到组织和管理。模块化的管理代码使多人开发得到了更好的合作一、CommonJS是一种为JS的......
  • 01、为什么要用大数据技术进行安全分析?
    转载公众号《微言晓意》,仅用于个人学习关于安全运营系列文章,在2020年10月份写了篇《安全运营的定义与核心目标》,算是开了个头。后面几个月由于精力不够,内容方向也没有想清......