美文网首页前端新手
webpack 常用loader、Plugins和Mode配置及

webpack 常用loader、Plugins和Mode配置及

作者: 刘员外__ | 来源:发表于2020-08-09 15:52 被阅读0次

    loader

    名称 描述
    babel-loader 转换ES6、ES7等JS新特性语法
    css-loader 支持.css文件的加载和解析
    less-loader 将less文件转换成css
    ts-loader 将TS转换成JS
    file-loader 进行图片、字体等的打包
    url-loader 进行图片、字体等的打包,还可设置较小资源的自动base64
    raw-loader 将文件以字符串的形式导入
    thread-loader 多进程打包JS和CSS

    Plugins

    名称 描述
    CommonsChunkPlugin 将chunks相同的模块代码提取成公共js
    CleanWebpackPlugin 清理构建目录
    ExtractTextWebpackPlugin 将CSS从bundle文件里提取成一个独立的CSS文件
    CopyWebpackPlugin 将文件或者文件夹拷贝到构建的输出目录
    HtmlWebpackPlugin 创建html文件承载输出的bundle
    UglifyjsWebpackPlugin 压缩JS
    ZipWebpackPlugin 将打包出的资源生成一个zip包

    Mode

    名称 描述
    development 设置process.env.NODE_ENV的值为development.开启NamedChunksPluginNamedModulesPlugin.
    production 设置process.env.NODE_ENV的值为production.开启FlagDependencyUsagePluginFlagIncludedChunksPluginModuleConcatenationPluginNoEmitOnErrorsPluginOccurenceOrderPluginSideEffectsFlagPluginTerserPlugin
    none 不开启任何优化选项

    css解析

    css-loader 用于加载 .css 文件,并且转换成commonjs 对象;
    style-loader 将样式通过 <style> 标签插入到 head 中。
    loader 的调用顺序是链式调用的,是从右到左的,所以在配置 rules 的时候,要注意两者的先后顺序

    module: {
        rules: [
          {
            test: /.css$/,
            use: [
              'style-loader',
              'css-loader'
            ]
          }
        ]
      }
    

    less 解析

    加载 less 和 less-loader
    同 css 解析规则一样,需要将 less-loader 放置到 use 最右面

         {
            test: /.less$/,
            use: [
              'style-loader',
              'css-loader',
              'less-loader'
            ]
          }
    

    url-loader

    进行图片、字体等的打包,还可设置较小资源的自动base64
    优点:可以减少一次http请求
    缺点:会使打包文件变大,延长首次加载白屏时间

          {
            test: /.(png|jpg|gif|jpeg)$/,
            use: [{
              loader: 'url-loader',
              options: {
                limit: 10240 // 如果图片大小小于10k,自动打包成base64
              }
            }]
          }
    

    相关文章

      网友评论

        本文标题:webpack 常用loader、Plugins和Mode配置及

        本文链接:https://www.haomeiwen.com/subject/nwpldktx.html