test:匹配loaders处理的文件的拓展名的正则表达式(必须)javascript
loader:loader的名称(必须),loader 通常以 xxx-loader 的方式命名,xxx 表明了这个 loader 要作的转换功能,好比 css-loader。css
include:必须处理的文件(文件夹)(可选)html
exclude: 屏蔽不须要处理的文件(文件夹)(可选)java
query:为loaders提供额外的设置选项(可选)node
css-loader实现读取功能webpack
style-loader将全部的计算后的样式加入页面中web
两者组合在一块儿使你可以把样式表嵌入webpack打包后的JS文件中正则表达式
... { test: /\.css$/, exclude: /node_modules/, loader: 'style-loader!css-loader' } // 感叹号的做用在于使同一文件可以使用不一样类型的loader ...
loaders和plugins是彻底不一样的东西,loaders是在打包构建过程当中用来处理源文件的(js,scss,less..),一次处理一个,
插件并不直接操做单个文件,它直接对整个构建过程其做用。app
依据一个简单的模板,生成最终的html文件,这个文件中自动引用了你打包后的js文件。
每次编译都在文件名中插入一个不一样的哈希值。less
Hot Module Replacement容许你在修改组件代码后,自动刷新实时预览修改后的效果。
在webpack中实现HMR也很简单,只须要作两项配置:
在webpack配置文件中添加HMR插件
在Webpack Dev Server中添加“hot”参数
devServer: { hot: true, inline: true }, plugins: [ new HtmlWebpackPlugin({ template: __dirname + "/app/index.html" }), new webpack.HotModuleReplacementPlugin() ],