2

当我使用webpackUglifyjsWebpackPlugin时,我尝试缩小代码:

// this is test.js
export const ceil = Math.ceil

export const random = Math.random

// webpack entry
import { ceil } from './test'

export default ceil(3.3)

我有 :

 // formated
 "use strict";
 n.d(t,"a",function(){return r});
 var r=Math.ceil;
 Math.random// still exist?

如果我缩小

// this is test.js
export const ceil = Math.ceil

export const random = 1 // or string 

我会正常的。

那么,为什么Math.random还存在呢?摇树不行吗?

webpack:3.10.0
UglifyjsWebpackPlugin:1.1.6

谢谢!

4

1 回答 1

0

您的问题有点不清楚,但Math.random它是 javascript 标准库的一部分,并且始终包含在每个浏览器中。因此,您不能摇晃它,但您也不必担心它的大小:您可以Math.random免费“获得”。

换句话说,Tree Shaking 是一种减少捆绑包大小的工具。for 的定义Math.random一开始就不是你的包的一部分,也不会影响你的包大小。

(注:同样如此Math.ceil

于 2018-07-28T03:34:06.917 回答