首页 > 其他分享 >vue3+vite+tailwind+element配置,el-button被覆盖样式

vue3+vite+tailwind+element配置,el-button被覆盖样式

时间:2023-01-21 02:33:05浏览次数:44  
标签:el tailwind button element plus import

生产环境下

1、vite.config.ts生产环境代码分文件夹存放

element自动导入下,解决el-button开发环境下被tailwind覆盖样式

  base: process.env.NODE_ENV === 'production' ? '/002/test/' : '/', // 此处为更改生产环境所有资源路径前缀
  build: {
    outDir: 'dist',
    assetsDir: 'assets',
    sourcemap: false,
    rollupOptions: {
      output: {
        // 最小化拆分包
        manualChunks: (id) => {
          // 按模块分
          // if (id.includes('node_modules')) {
          //   return id.toString().split('node_modules/')[1].split('/')[0].toString();
          // }
		  
	 // if (id.includes('element-plus/theme-chalk/')) { // 解决el-button开发环境下被tailwind覆盖样式,添加后会打包出一个element-plus.css
         // return 'element-plus'
         //},
        // 用于从入口点创建的块的打包输出格式[name]表示文件名,[hash]表示该文件内容hash值
        entryFileNames: 'js/[name].[hash].js',
        // 用于命名代码拆分时创建的共享块的输出命名
        chunkFileNames: 'js/[name].[hash].js',
        // 用于输出静态资源的命名,[ext]表示文件扩展名
        assetFileNames: '[ext]/[name].[hash].[ext]',
      }
    }
  }

2、tailwind 3.0 配置

/** @type {import('tailwindcss').Config} */

module.exports = {
  content: ['./index.html',"./src/**/*.{html,vue,js,ts,jsx,tsx}"], // 此处为需要使用tailwindcss的地方
  theme: {
    extend: {},
  },
  plugins: [],
}

开发环境下

3、vue3的main.ts,解决el-button开发环境下被tailwind覆盖样式

import { createApp } from 'vue';
import { createPinia } from 'pinia';

import './assets/main.css'; // 里面引入了tailwind的@tailwind base、components、utilities
// 开发环境下,tailwind 在下面导入,会影响element的button样式
// 生产环境下,tailwind 还是会覆盖el-button的样式
// 解决:https://github.com/element-plus/element-plus/issues/5693
// 有人认为解决问题的核心是把element-plus动态引入的css文件独立分离出来并放到最后载入以防止被覆盖,
// build: {
//     rollupOptions: {
//       output: {
//         // eslint-disable-next-line consistent-return
//         manualChunks(id) {
            // 有效!!!!!但这样就无法继续拆分其他css文件
//           if (id.includes('element-plus/theme-chalk/')) {
//             return 'element-plus'
//           }
//         }
//       }
//     }
//   }

import App from './App.vue';
import router from './router';


const app = createApp(App)

app.use(createPinia())
app.use(router)

app.mount('#app')

标签:el,tailwind,button,element,plus,import
From: https://www.cnblogs.com/fangcunjian/p/17063468.html

相关文章

  • java读取Excel成List对象数组
    文件IO是任何软件进行的重要组成部分,我们在电脑上创建一个Excel文件,然后打开它修改一些东西或者删除它。Java给我们提供了操纵文件的很多工具类,本文主要是使用POI操纵Excel......
  • shell工具和脚本
    Shell脚本shell脚本是一种更加复杂度的工具。大多数shell都有自己的一套脚本语言,包括变量、控制流和自己的语法。shell脚本与其他脚本语言不同之处在于,shell脚本针对......
  • 【最新】Delphi XE7 绿色版下载,亲测可用!
    最后更新时间2017-12-05.本文整理自2ccc盒子iny的帖子→链接到原贴破解→链接一、绿色版介绍绿色版除了不包含FastReport(RADStudio自带的FastReport为精简......
  • ifelse嵌套屎山的解决方法-卫语句
    卫语句(Guard)什么是卫语?卫语句是一种编程思想,提前检查边界,保卫代码。一、什么时候使用卫语句大厂开发规范,超过三个ifelse建议使用卫语句、策略模式、状态模式等方式重......
  • CU002HModel matching query does not exist.
    问题描述:CU002HModelmatchingquerydoesnotexist.问题分析:匹配的查询不存在。顾名思义就是什么数据都没有。原因是get查询时没有结果会报错,所以有两个选择,添加使用tr......
  • 1451, 'Cannot delete or update a parent row: a foreign key constraint fails
    问题描述:1451,'Cannotdeleteorupdateaparentrow:aforeignkeyconstraintfails(`sysProDB4`.`IM003D1`,CONSTRAINT`IM003D1_item_no_id_d6a0fc9e_fk_IM003H_i......
  • 群晖 ipv6访问docker容器jellyfin
    解决方法在dms7中的docker套件是20版本的这个版本通过网上教程是没法成功开启ipv6,至少我不行,而且我搜到哪个配置文件重启之后会被修改,所以不是一种很好的方式但是上述的......
  • 登录服务器的软件-WinSCP 和 Xshell
    在登录服务器的时候,可以使用Linux系统,比如虚拟机下的Centos7和子系统Ubuntu。连接方式为:[email protected](需要用户名,端口,地址)。在Windows系统下,如......
  • save() prohibited to prevent data loss due to unsaved related object 'item_n
    问题描述:save()prohibitedtopreventdatalossduetounsavedrelatedobject'item_no原因分析:原来的目的是保存数据时同步另一个表,不存在新增,存在更新,但......
  • Codeforces Round #844 (Div. 1 + Div. 2, based on VK Cup 2022 - Elimination Round
    《C.EqualFrequencies》  这道题的题意为:一个字符串str上每个字母的数量都一样,为平衡字符串现在给出一个字符串s,问最少改动多少使s变成平衡字符串,并写出该平衡字......