• webpack一些常用的Loader和Plugin


    webpack4一些常用的Loader:

    • babel-loader: 将ES6转化为ES5。
    • ts-loader: 将TypeScript转化为JavaScript
    • vue-loader: 将Vue转化为JavaScript
    • eslint-loader: 通过 ESLint 检查 JavaScript 代码。
    • css-loader: 加载 CSS,⽀持模块化、压缩、⽂件导⼊等特性。
    • style-loader: 把 CSS 代码注⼊到 JavaScript 中,通过 DOM 操作去加载 CSS。
    • less-loader : 将Less编译成CSS。
    • sass-loader: 将Sass编译成CSS。
    • postcss-loader : 使用PostCSS处理CSS。
    • file-loader: 把⽂件输出到⼀个⽂件夹中,在代码中通过相对 URL 去引⽤输出的⽂件。
    • url-loader: 和 file-loader 类似,但是能在⽂件很⼩的情况下以 base64 的⽅式把⽂件内容注⼊到代码中去。
    • image-loader: 载并且压缩图⽚⽂件。
    • source-map-loader: 加载额外的 Source Map ⽂件,以⽅便断点调试。
    • cache-loader : 为其他 loader 提供缓存功能,避免重复执行。
    • thread-loader: 将 loader 的执行过程放在单独的 worker 池中运行,来减少主线程的压力,提高构建速度。

    webpack4一些常用的Plugin:

    • CleanWebpackPlugin: 用于在每次构建前清理输出目录中的文件
    • CompressionWebpackPlugin: 用于对打包后的资源文件进行gzip
    • HtmlWebpackPlugin: 用于生成HTML文件,并将打包后的资源文件自动引入
    • MiniCssExtractPlugin: 用于将CSS提取为单独的文件
    • DefinePlugin: 用于定义环境变量
    • UglifyJsPlugin: 用于丑化压缩JavaScript
    • CopyWebpackPlugin: 用于将静态文件直接复制到输出目录中
    • HotModuleReplacementPlugin: 用于实现模块热替换
    • FriendlyErrorsWebpackPlugin: 用于友好的展示webpack构建错误信息
    • webpack-bundle-analyzer: 用于可视化分析打包后模块的大小和依赖

    关于webpack5的一些特点:

    Webpack5相对于Webpack4来说,新增了很多特性和功能,修复了一些问题,同时也内置了一些新的模块和工具。以下是一些主要的区别:

    新增特性:

    • 内置静态资源构建能力: Webpack5通过添加4种新的资源模块类型(asset/resource、asset/source、asset等),来替换所有的loader,如raw-loader、url-loader和file-loader等。
    • 性能优化: Webpack5相对于Webpack4来说,性能更高,打包速度更快。
    • 更好的Tree Shaking: Webpack5提供了更好的Tree Shaking功能,可以更准确地识别和消除无用的代码,从而减小打包体积。

    修复的问题:

    • 长期缓存问题: Webpack4中,由于模块ID的不稳定性,导致长期缓存失效。Webpack5通过采用更稳定的模块ID生成策略,解决了这个问题。
    • 配置复杂性问题: Webpack4的配置相对复杂,容易出错。Webpack5通过简化配置和提供更多的默认配置选项,降低了配置的复杂性。

    内置模块和工具:

    • 内置优化插件: Webpack5内置了一些优化插件,如ModuleConcatenationPlugin和SplitChunksPlugin等,用于优化打包结果和减小打包体积。
    • 内置环境变量: Webpack5内置了一些环境变量,如process.env.NODE_ENV,用于指示当前的环境(开发环境或生产环境)。

    此外,Webpack5还相对于Webpack4来说,支持更多的JavaScript新特性、更好的缓存机制等。


    关于webpack5的一些内置:

    Webpack 5中,一些常用的loader和plugin被内置,这意味着你不再需要显式地在配置文件中安装和配置它们。以下是一些在Webpack 4中可能需要单独安装,但在Webpack 5中被内置的loader和plugin:

    内置Loader:

    • style-loader:在Webpack 5中,style-loader被内置为实验性功能。它允许你将CSS样式直接注入到HTML中。
    • css-loader:用于解析CSS文件中的@import和url()等依赖关系。在Webpack 5中,css-loader也被内置为实验性功能。
    • mini-css-extract-plugin:这个plugin在Webpack 5中被内置为asset/style模块类型。它用于从bundle中提取CSS到单独的文件。

    内置Plugin:

    • HtmlWebpackPlugin:这个plugin在Webpack 5中仍然需要单独安装,但Webpack 5为其提供了更好的集成和默认行为。它用于简化HTML文件的创建,并自动引入生成的bundle。
    • TerserPlugin:用于压缩和最小化JavaScript代码。在Webpack 5中,TerserPlugin被内置为生产环境的默认压缩工具。

    这里就说几个常见的,其他更多的去webpack5官网看吧

  • 相关阅读:
    你必须知道的十大漏洞之失效的访问控制
    Fluent Facede Pattern(外观模式)
    线性代数本质系列(一)向量,线性组合,线性相关,矩阵
    SSH婴幼儿产品销售系统电商购物系统(含源码+论文+答辩PPT等)
    TypeScript环境安装
    React组件化开发
    Spring基础入门
    js对象扁平化:Javascript对象进行扁平化处理
    Python | eval、exec | TypeError: eval() takes no keyword arguments
    深度学习入门之自动求导(Pytorch)
  • 原文地址:https://blog.csdn.net/weixin_43106777/article/details/136660645