loader是一种打包的方案,webpack默认只识别js结尾的文件,当遇到其余格式的文件后,webpack并不知道如何去处理。此时,咱们能够定义一种规则,告诉webpack当他遇到某种格式的文件后,去求助于相应的loader。css
1.加载scc style-loader、css-loader、less-loader和sass-loader(文件打包解析css less sass)html
npm install --save-dev style-loader css-loader less-loader sass-loader
2.加载图片和字体等文件 raw-loader、file-loader 、url-loaderwebpack
npm install --save-dev file-loader raw-loader url-loader
3.加载数据xml和csv csv-loader xml-loader (打包加载解析csv和xml文件数据)web
npm install --save-dev csv-loader xml-loader
4.校验测试:mocha-loader、jshint-loader、eslint-loadernpm
npm install --save-dev mocha-loader jshint-loader eslint-loader
5.编译:babel-loader、coffee-loader、ts-loadesass
npm install --save-dev babel-loader coffee-loader ts-loade
webpack插件,采用不一样的plugin完成各种不一样的性需求,热更新,css去重之类的问题babel
1.ProvidePlugin
:自动加载模块,代替require和import
2.html-webpack-plugin
能够根据模板自动生成html代码,并自动引用css和js文件
3.extract-text-webpack-plugin
将js文件中引用的样式单独抽离成css文件
4.DefinePlugin
编译时配置全局变量,这对开发模式和发布模式的构建容许不一样的行为很是有用。
5.HotModuleReplacementPlugin
热更新
6.optimize-css-assets-webpack-plugin
不一样组件中重复的css能够快速去重
7.webpack-bundle-analyzer
一个webpack的bundle文件分析工具,将bundle文件以可交互缩放的treemap的形式展现。
8.compression-webpack-plugin
生产环境可采用gzip压缩JS和CSS
9.happypack
:经过多进程模型,来加速代码构建
10.clean-wenpack-plugin
清理每次打包下没有使用的文件app