码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • webpack:css代码提取插件extract-text-webpack-plugin和mini-css-extract-plugin


    extract-text-webpack-plugin

    提取静态资源 css 等

    const ExtractTextPlugin = require("extract-text-webpack-plugin");  //记得先install该模块
    module: {
            rules: [
                {
                    test: /\.vue$/,
                    loader: 'vue-loader',
                    options: {
                        loaders: {
                            scss: ExtractTextPlugin.extract({ fallback: 'vue-style-loader', use: 'css-loader!sass-loader' })
                            css: ExtractTextPlugin.extract({ fallback: 'vue-style-loader', use: 'css-loader' }),
                        }
                    }
                },
                {
                    test: /\.css$/,
                    use: ExtractTextPlugin.extract({    //css的提取
                        fallback: "style-loader",
                        use: "css-loader"
                    })
                },
                {
                    test: /\.scss$/,
                    use: ExtractTextPlugin.extract({   //css的提取
                        fallback: "style-loader",
                        use: ['sass-loader','postcss-loader']
                    })
                }
            ]
        },
        plugins: [
            new ExtractTextPlugin({
                filename: 'css/[name].[contenthash].css',
                allChunks: true
            })
        ]
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36

    mini-css-extract-plugin

    替代extract-text-webpack-plugin 进行资源提取。
    webpack 4.0以前,我们通过extract-text-webpack-plugin插件,把css样式从js文件中提取到单独的css文件中。webpack 4.0以后,官方推荐使用mini-css-extract-plugin插件来打包css文件(从css文件中提取css代码到单独的文件中,对css代码进行代码压缩等)。

    const MiniCssExtractPlugin = require('mini-css-extract-plugin')
    const devMode = process.env.NODE_ENV !== 'production'
     
    module.exports = {
      module: {
        rules: [
          {
            test: /\.(sa|sc|c)ss$/,  // 可以打包后缀为sass/scss/css的文件
            use: [
              {
                loader: MiniCssExtractPlugin.loader,
                options: {
                  // 这里可以指定一个 publicPath
                  // 默认使用 webpackOptions.output中的publicPath
                  // publicPath的配置,和plugins中设置的filename和chunkFilename的名字有关
                  // 如果打包后,background属性中的图片显示不出来,请检查publicPath的配置是否有误
                  publicPath: './',  
                  // publicPath: devMode ? './' : '../',   // 根据不同环境指定不同的publicPath
                  hmr: devMode, // 仅dev环境启用HMR功能
                },
              },
              'css-loader',
              'sass-loader'
            ],
          },
        ]
      },
      plugins: [
        new MiniCssExtractPlugin({
          // 这里的配置和webpackOptions.output中的配置相似
          // 即可以通过在名字前加路径,来决定打包后的文件存在的路径
          filename: devMode ? 'css/[name].css' : 'css/[name].[hash].css',
          chunkFilename: devMode ? 'css/[id].css' : 'css/[id].[hash].css',
        })
      ]
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
  • 相关阅读:
    xray的使用
    Docker高级-1.复杂安装示例(mysql主从复制、redis集群)
    Java多线程核心技术第一阶段-Java多线程基础 02
    【性能优化】面试题:现在有25个键值对,怎么样存HashMap效率最高?
    Rocket快速实战与高级原理详解
    【统计和图形分析】上海道宁为您带来测试、分析、改进和控制自身服务、交易和制造流程的强大工具——SigmaXL
    Python + requests实现接口自动化框架!
    Netty简略了解与 源码分析
    【附源码】计算机毕业设计SSM图书商城
    From Sparse to Dense: GPT-4 Summarization with Chain of Density Prompting
  • 原文地址:https://blog.csdn.net/weixin_43972437/article/details/133277310
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号