美文网首页
常用的loader方法及作用

常用的loader方法及作用

作者: renxiaoyao09 | 来源:发表于2020-04-22 13:40 被阅读0次

    noParse: /node_modules/(moment|chart.js)/, //不解析
    多个loader配合使用时,处理顺序是:从下到上,从右到左 的顺序;

    处理css
    css-loader 读取.css文件内容 帮我们分析出各个css文件之间的关系,把各个css文件合并成一段css 并实现一些功能 比如模块化 压缩 生成map文件等
    style-loader 将css-loader生成的css代码挂载到页面的header部分

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

    处理.png 、 .jpg 等图片文件
    file-loader 打包处理一系列的图片文件 会给每张图片都生成一个随机的hash值作为图片的名字

    {
        test: /\.jpg$/,
        use: [ 'file-loader' ]
    }
    

    处理.png 、 .jpg 等图片文件
    url-loader 功能类似于 file-loader,但是在文件大小(单位 byte)低于指定的限制时,可以返回一个 DataURL。

    {
        test: /\.(png|jpg|gif)$/,
        use: [
            {
                loader: 'url-loader',
                options: {
                  limit: 8192
                }
            }
        ]
    }
    

    转译js 「解析 - 转换 - 生成」三个步骤 互为依赖关系
    babel-loader 转译 JavaScript 代码
    @babel/core 解析
    具体的「转换」和「生成」步骤则交给各种插件(plugin)和预设(preset)来完成。
    preset一般单列为.babelrc配置文件
    @babel/preset-* 实际上就是各种插件的打包组合,也就是说各种转译规则的统一设定,目的是告诉loader要以什么规则来转化成对应的js版本

        {
          test: /\.js$/,
          exclude: /(node_modules|bower_components)/,
          use: {
            loader: 'babel-loader',
            options: {
              presets: ['@babel/preset-env'],
              plugins: [require('@babel/plugin-transform-object-rest-spread')]
            }
          }
        }
    

    处理html文件
    html-loader 将HMTL模板文件当做一个string输出。

            {
              test: /\.(html)$/,
              use: {
    
                loader: 'html-loader',
                options: {
                  attrs: [':data-src'], //为了做图片懒加载,那些属性需要被,制定什么属性被该loader解析
                  minimize: false,
                },
              },
            },
    

    相关文章

      网友评论

          本文标题:常用的loader方法及作用

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