关于webpack的一些面试题(缓慢更新)
1.webpack与Grunt、Gulp这类打包工具有什么不同 像Grunt、Gulp这类构建工具,打包的思路是: 遍历源文件 → 匹配规则 → 打包,这个过程中做不到按需加载,即对于打包起来的资源,到底页面用不用,打包过程中是不关心的。 webpack跟其他构建工具本质上的不同之处在于: webpack 是从入口文件开始,经过模块依赖加载、分析和打包三个流程完成项目的构建。在加加载、分析和打包的三个过程中,可以针对性的做一些解决方案,比如code split(拆分公共代码等)。 当然,webpack还可以轻松的解决传统构建工具解决的问题: 模块化打包,一切皆模块,js是模块,css等也是模块 语法糖转换:比如ES6转ES5、TypeScript 预处理器编译:比如less、sass等 项目优化:比如压缩、CDN 解决方案封装:通过强大的Loader和插件机制,可以完成解决方案的封装,比如PWA; 流程对接:比如测试流程、语法检测等。 2.wepback有几种写法 webpack的配置类型是多样的,最常见的是直接作为一个对象来使用,除了使用对象,webpack还支持函数 promise和多配置数组。 3.我们要开发一个jQuery插件、vue组件等,需要怎么配置webpack 如果我们打包的目的是生成一个共别人使用的库,那么可以使用output