webpack
webpack是一个用于现代JavaScript应用程序的静态模块打包工具
解决了:
- 模块依赖问题,在我们写代码时,会有模块相互依赖问题,顺序问题,手动管理模块依赖,webpack解决了这个先后问题
- 代码编写问题, 在现在项目中会有typejs、sass等预编译语言,webpack会将这些转为js、css
- 开发效率问题,提供了热加载功能,在编写代码是不需要手动去刷新页面
- 项目优化问题,打包上线的时候对代码进行压缩优化,保证项目性能
webpack中loader
loader本质上是一个函数,这个函数接受source为参数,函数返回值便是我们最周loader处理的结果。
loader 让 webpack 能够去处理那些非 JavaScript 文件(webpack 自身只理解 JavaScript)。loader 可以将所有类型的文件转换为 webpack 能够处理的有效模块,然后你就可以利用 webpack 的打包能力,对它们进行处理。
loader以数组的方式进行配置,执行顺序是从后往前栈结构的顺序执行
js相关:
babel-loader:处理javascript文件,提供语法转换,语法垫片;source-map-loaderL:从现有源文件中提取映射关系
css相关:
style-loader:把编译后的css以style标签的格式插入DOM中