• webpack loader 用于对模块的源代码进行转换


    url-loader

    1. {
    2. test: /\.(jpg|png|gif)/,
    3. // url-loader默认使用es6模块化解析
    4. loader: "url-loader",
    5. options: {
    6. // 图片大于8kb,就会被base64处理
    7. limit: 8 * 1024,
    8. esModule: false// 关不es6模块化解析
    9. encoding: true, // 默认为true, 是否使用默认编码base64,可以["utf8","utf16le","latin1","base64","hex","ascii","binary","ucs2"]
    10. generator: '', // 类型:{Function},默认值:() => type/subtype;encoding,base64_data,可以自定义数据编码。
    11. fallback: 'file-loader', //指定当目标文件的大小超过限制时要使用的备用加载程序
    12. //[hash:10]取图片的hash的前10
    13. //[ext]取文件原来扩展名
    14. name: '[hash:10].[ext]'
    15. }
    16. },

    file-loader
    options配置对象中,我们可以配置图片打包好之后的名称,存放的位置等。

    1. .loader('file-loader')
    2. .options({
    3. name: '[name].[contenthash].[ext]',
    4. outputPath: 'static/img'
    5. })

    简化后

    1. .loader('file-loader')
    2. .options({
    3. name: 'static/img/[name].[contenthash].[ext]'
    4. })

    3.sass-loader
    sass-loader的作用就是将该css文件翻译成纯css语法文件,以便后续打包处理,需要注意的是,在我们需要使用sass-loader时,在安装sass-loader时还需要安装node-sass。
    4.css-loader
    我们的css打包文件中可能会引入其它的css文件,而css-loader的作用就相当于把这些相互依赖的css文件合并成一个css文件。

    1. {
    2. test: /.css$/,
    3. loader: 'css-loader',
    4. exclude: /(node_modules|bower_components)/
    5. }


    5.style-loader
    我们需要打包的css文件在经过sass-loader的翻译,css-loader的合并之后,style-loader的作用就是把合并后的css文件挂载到页面的head中来渲染出页面的样式。
    6.postcss-loader
    postcss-loader是一个辅助性loader,它是针对css3中新增样式属性而存在的,它可以将css样式文件中的css3样式属性在挂载到页面上时,自动在新样式属性前添加上像-webkit-,-moz-这样的厂商前缀,但是它的使用还需要一个autoprefixer插件配合使用,我们配置postcss-loader的方式跟配置其它loader的方式一样,而引入autoprefixer插件则需要在postcss.config.js文件中引入:

    1. {
    2. test: /.css$/,
    3. use: ['style-loader','css-loader','postcss-loader'], //从右向左执行
    4. }
    5. 官网的写法
    6. rules: [
    7. {
    8. test: /\.css$/,
    9. use: [
    10. // [style-loader](/loaders/style-loader)
    11. { loader: 'style-loader' },
    12. // [css-loader](/loaders/css-loader)
    13. {
    14. loader: 'css-loader',
    15. options: {
    16. modules: true
    17. }
    18. },
    19. // [sass-loader](/loaders/sass-loader)
    20. { loader: 'sass-loader' }
    21. ]
    22. }
    23. ]


    7.svg-sprite-loader 将svg图片以雪碧图的方式在项目中加载

  • 相关阅读:
    Java安全--篇2-类的动态加载
    华为云云耀云服务器L实例评测|认识redis未授权访问漏洞 & 漏洞的部分复现 & 设置连接密码 & redis其他命令学习
    最新!国资委发布国有企业数字化转型新举措
    沉睡者IT - 说几个2022年网络上比较好赚钱的创业项目
    测试员容易陷入的9大误区
    算法|图论 5
    语言的未来:深度学习在自然语言处理中的革命
    信息系统项目管理师核心考点(二十八)项目进度计划输出(成果)
    打破运维疆界:异构复杂网络环境的集中监控和管理
    Towards End-to-End Unified Scene Text Detection and Layout Analysis(2022)
  • 原文地址:https://blog.csdn.net/zhaofeiweb/article/details/127672843