webpack实践笔记(三)--- 总结

loaders

需要单独安装并且在config文件中的modules下进行配置,配置参数有:
  • test:匹配loaders处理的文件的拓展名的正则表达式(必须)

  • loader:loader的名称(必须),loader 一般以 xxx-loader 的方式命名,xxx 代表了这个 loader 要做的转换功能,比如 css-loader。

  • include:必须处理的文件(文件夹)(可选)

  • exclude: 屏蔽不需要处理的文件(文件夹)(可选)

  • query:为loaders提供额外的设置选项(可选)

css-loader 和 style-loader区别
  • css-loader实现读取功能

  • style-loader将所有的计算后的样式加入页面中

  • 二者组合在一起使你能够把样式表嵌入webpack打包后的JS文件中

...
{
    test: /\.css$/,
    exclude: /node_modules/,
    loader: 'style-loader!css-loader'
}
// 感叹号的作用在于使同一文件能够使用不同类型的loader
...    

plugins

loaders和plugins是完全不同的东西,loaders是在打包构建过程中用来处理源文件的(js,scss,less..),一次处理一个,
插件并不直接操作单个文件,它直接对整个构建过程其作用。

HtmlWebpackPlugin

依据一个简单的模板,生成最终的html文件,这个文件中自动引用了你打包后的js文件。
每次编译都在文件名中插入一个不同的哈希值。

HMR

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()
  ],

silence
386 声望26 粉丝

我就是我,是不想绽放的烟火!