在package.json的依赖,项目未引用时会有影响吗?

有以下问题
1.打包时会影响输出体积吗
2.如果影响输出体积,项目上线时会加载相应文件吗
3.会影响运行时的编译速度吗

阅读 2.1k
1 个回答
✓ 已被采纳

只能说看情况,没有引用的在打包的时候不会被扫描到,但是如果你使用了require或者import这种引用语法没有使用还是会扫描到的,这个时候就会影响到打包体积。

但是现在的打包工具都加上了tree shake功能,如果只使用了ES6的模块化语法也是不会影响到打包体积的。

现在回到你的问题上面:

  1. 打包时会影响输出体积吗?

    • 看情况,如果使用ES6的模块化语法是不会的。
  2. 如果影响输出体积,项目上线时会加载相应文件吗?

    • 肯定会的,打包进去之后,在最后产生的文件中是会引用这些文件的;
    • 但是还是会有例外,就是懒加载,使用import('./xxx.js'),或者require('./xx.js')就是懒加载的方式加载js文件,使用这种方式只会在代码运行到这段代码的时候才会加载这些文件,所以如果代码永远不会执行也是不会加载相应的文件的;
  3. 会影响运行时的编译速度吗?

    • 还是得看情况,毕竟多写一行代码,就要付出这行代码背后的执行和编译的影响。
    • 但是还是上面的说法,没有使用import或者require是不会扫描的,也就不会影响编译速度,不过这个和懒加载没关系,懒加载因为写了这些,所以还是会影响编译速度。

然后在回到上面说到的tree shake,只有使用ES6的模块化语法才不会影响,前提是使用import引用了。

这个时候会影响编译速度,但是不会对于最终打包后的文件不会有影响。

推荐问题
宣传栏