webpack中loader和plugin的区别

loader

由于webpack只能打包commonJs的规范文件,所以针对图片、css等文件无法打包,loader专注于转化文件,完成压缩/打包/语言翻译

  • css-loader sass-loader和style-loader是为了打包css
  • bable-loader和babel-core是为了把es6的代码转换成es5
  • url-loader和file-loader img-loader是为了把图片进行打包
  • eslint-loader某路径下的文件开启eslint
    webpack中loader和plugin的区别_第1张图片

Plugin

也是为了扩展webpack,作用于webpack本身打包、优化、压缩、重新定义环境变量

  • clean-webpack-plugin 打包后文件放到dist文件前 先将dist文件清空,保证每次的内容都是最新的
    webpack中loader和plugin的区别_第2张图片

  • html-webpack-plugin用于html文件的拷贝、打包,往我们的dist目录中生成一个index.html文件,并将我们打包的js文件引入到这个html中

  • webpack.DefinePlugin 定义全局变量

  • webpack.NamedModulesPlugin 热加载时直接返回文件名而不是文件id(HMR shows correct file names in console on update.

  • NoEmitOnErrorsPlugin 编译出错时跳过输出阶段

  • copyWebpackPlugin将文件或目录整个复制到构建目录

  • HotModuleReplacementPlugin 热模块自动替换插件,需要配合着webpack-dev-server进行使用,在打包文件发生改变的时候自动进行重新打包
    webpack中loader和plugin的区别_第3张图片

你可能感兴趣的:(开发环境,webpack,loader,plugin)