打包器
什么是打包器?
类似winRAR。区别只是winRAR用于文件夹打包压缩,webpack用于软件项目。不过webpack在打包过程中还可以对文件做很多事情。
为什么项目开发需要用到打包器?
主要是项目在甩到浏览器上运行之前有一些事情需要做。 比如我们写的有些代码(less)是无法被浏览器识别的。为了让浏览器看懂,就需要一个翻译机,将我们的语言转为它能看懂的语言。因此就有了打包器。
我用vue创建了一个项目。为什么看不到webpack的配置文件?
用某个版本的脚手架生成的项目,内置了webpack。这相当于把webpack的配置文件给隐藏了,因此没有它的配置文件。 这个版本指vue3。 脚手架指vue-cli。
如果就是想看到呢,如何看到?
vue inspect > output.js
如果有一些自己想要使用的webpack功能,就需要覆盖内置webpack配置。如何覆盖?
在根目录创建vue.config.js。使用其中的对象去覆盖
如何使用webpack对项目进行优化?
1.项目优化作用?
减少编译时间
2.如何做?
CommonJS,AMD,CMD=模块规范 zhuanlan.zhihu.com/p/65574428
减少编译输出文件大小 提高页面性能 减小打包后的文件大小 首页按需引入文件 优化 webpack 打包时间
查看哪些代码用了/没用: 工具:chrome ctrl+shift+p coverage 指标:青色表示用过至少1次,红色区域表示未使用
降低方法: 1.死代码 对脚手架生成的项目来说,内置webpack有tree shaking。但它只对es6模块效果强劲。 脚手架项目多是commonjs模块 2.懒加载
把productionSourceMap改为false。不然在最终打包的文件中会出现一些map文件,map文件的作用在于:项目打包后,代码都是经过压缩加密的,如果运行时报错,输出的错误信息无法准确得知是哪里的代码报错。
有了map就可以像未加密的代码一样,准确的输出是哪一行哪一列有错。 如果不关掉,生产环境是可以通过map文件看到源码的。