夜听城嚣 夜听城嚣
首页
  • 学习笔记

    • 《JavaScript高级程序设计》
    • 前端基建与架构
  • 专题分享

    • Git入门与开发
    • 前端面试题汇总
    • HTML和CSS知识点
  • 项目实践
  • 抓包工具
  • 知识管理
  • 工程部署
  • 团队规范
bug知多少
  • 少年歌行
  • 青年随笔
  • 文海泛舟
  • 此事躬行

    • 项目各工种是如何协作的
    • TBA课程学习
收藏

dwfrost

前端界的小学生
首页
  • 学习笔记

    • 《JavaScript高级程序设计》
    • 前端基建与架构
  • 专题分享

    • Git入门与开发
    • 前端面试题汇总
    • HTML和CSS知识点
  • 项目实践
  • 抓包工具
  • 知识管理
  • 工程部署
  • 团队规范
bug知多少
  • 少年歌行
  • 青年随笔
  • 文海泛舟
  • 此事躬行

    • 项目各工种是如何协作的
    • TBA课程学习
收藏
  • chrome控制台怎么复制对象
  • 小程序键盘弹起后顶起自定义导航问题
  • node子进程如何输出和关闭
  • 代理域名后webpack热更新失效及解决
  • 小程序scroll-view隐藏滚动条
  • npm包相关
  • electron下载慢解决
  • electron开发踩坑
  • mac升级后git找不到
  • electron打包找不到python
  • 安装imagemin-mozjpeg失败
  • 开发中的bug类型踩坑
  • 云端web项目开发踩坑
    • 如何快速定位bug
    • bug知多少
    frost
    2023-08-25

    云端web项目开发踩坑

    # 项目背景

    本项目是创新项目,但技术栈旧中带新,技术栈如下:

    • 构建工具:vue-cli,webpack5
    • 框架:vue3, pinia,typescript,tailwindcss
    • 垂直领域:wasm,canvas

    # 问题及解决

    • tailwindcss相关

      • 自定义class找不到
      The `flex-center` class does not exist. If `flex-center` is a custom class, make sure it is defined within a `@layer` directive.
      
        51 | }
        52 | .tools-left-wrap .tools-tabs > .el-tabs__header .el-tabs__item {
      > 53 |   @apply w-[114px] h-[64px] p-0 flex-center border-none mt-[12px];
           |   ^
        54 | }
        55 | .tools-left-wrap
      
      1
      2
      3
      4
      5
      6
      7
      8

      官网有这个问题的回答,见这里 (opens new window)。实际上,原style中文件写法如下。

      @layer utilities {
        .flex-center {
          @apply flex justify-center items-center;
        }
      }
      
      1
      2
      3
      4
      5

      只需要将utilities改成components就不会报错了,但为了保险起见,还是遵循官方的用法,使用插件系统来配置。先删除原style的写法,然后新增如下代码。

      // tailwind.config.js
      const plugin = require('tailwindcss/plugin');
      module.exports = {
        plugins: [
          plugin(function ({ addComponents, theme }) {
            addComponents({
              '.flex-center': {
                display: 'flex',
                justifyContent: 'center',
                alignItems: 'center',
              },
            });
          }),
        ],
      };
      
      
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
    • vue.config.ts相关

      • configureWebpack配置

        官方支持两种方式,1是对象,2是函数,见文档 (opens new window)。使用对象时打包正常,但如果想要基于环境进行打包(比如生产环境打包输出依赖分析,以及去除console等),则要使用函数写法。当使用函数写法时,就出现了上面的tailwindcss的自定义class的问题。

    上次更新: 2025/04/09, 17:50:35
    开发中的bug类型踩坑
    如何快速定位bug

    ← 开发中的bug类型踩坑 如何快速定位bug→

    最近更新
    01
    提交代码时修改commit消息
    04-09
    02
    如何快速定位bug
    02-20
    03
    企微机器人
    06-13
    更多文章>
    Theme by Vdoing | Copyright © 2021-2025 dwfrost | 粤ICP备2021118995号
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式
    ×