defaultTheme未使用Tailwind CSS定义

x6h2sr28  于 2023-01-18  发布在  其他
关注(0)|答案(2)|浏览(116)

我正在做一个项目,我使用了ReactNext.jsTailwind CSS,我做了一些样式定制,比如使用react-slick作为slider,我应用了自定义CSS到react-slider类,并根据我的需要制作了slider......但同时我尝试将默认自定义字体应用到我的整个项目。在这种情况下,我在文件中做了一些更改

文件 * 顺风配置文件.js*

theme: {
  fontFamily: {
    customfontname: ['Segoe UI', 'Helvetica Neue', 'Arial', 'sans-serif', ...defaultTheme.fontFamily.customfontname],
  },
  extend: {},
},

之后,我得到了一个***编译错误:***

./node_modules/next/dist/build/webpack/加载程序/css-加载程序/src/索引.js??规则集[1].规则[2].其中一个[7].使用[1]!./node_modules/next/dist/build/webpack/加载程序/postcss-加载程序/src/索引.js??规则集[1].规则[2].其中一个[7].使用[2]!./node_modules/光滑转盘/光滑/光滑主题.css

参考错误:未定义默认主题

我的Tailwind CSS * 配置.js* 文件以供参考

/** @type {import('tailwindcss').Config} */
module.exports = {
  mode: "jit",
  content: [
    "./pages/**/*.{js,ts,jsx,tsx}",
    "./page-section/**/*.{js,ts,jsx,tsx}",
    "./page-section/**/**/*.{js,ts,jsx,tsx}",
  ],
  theme: {
    fontFamily: {
      customfontname: ['Segoe UI', 'Helvetica Neue', 'Arial', 'sans-serif', ...defaultTheme.fontFamily.customfontname],
    },
    extend: {
      fontFamily: {
        customfontname: ['Segoe UI',
                         'Helvetica Neue',
                         'Arial',
                         'sans-serif',
                         ...defaultTheme.fontFamily.customfontname],
      },
    }
  },
  plugins: [],
};

这是那些试图帮助我的人的代码,但我得到了我提到的同样的错误...

/** @type {import('tailwindcss').Config} */
const defaultTheme = require("tailwindcss/defaultTheme");
module.exports = {
  mode: "jit",
  content: [
    "./pages/**/*.{js,ts,jsx,tsx}",
    "./page-section/**/*.{js,ts,jsx,tsx}",
    "./page-section/**/**/*.{js,ts,jsx,tsx}",
  ],
  theme: {
    fontFamily: {
      customfontname: [
        "Segoe UI",
        "Helvetica Neue",
        "Arial",
        "sans-serif",
        ...defaultTheme.fontFamily.customfontname,
      ],
    },
    extend: {},
  },
  plugins: [],
};
thtygnil

thtygnil1#

因为您的tailwind.config.js文件中没有定义defaultTheme。您似乎试图通过添加新的自定义字体来扩展主题的默认字体系列,但defaultTheme变量在配置文件的作用域中不可用。
为了扩展默认字体系列,您需要从Tailwind CSS包导入默认主题,如下所示:

const defaultTheme = require('tailwindcss/defaultTheme');

module.exports = {
  theme: {
    fontFamily: {
      customfontname: ['Segoe UI', 'Helvetica Neue', 'Arial', 'sans-serif', ...defaultTheme.fontFamily.sans],
    },
    extend: {},
  },
  variants: {},
  plugins: [],
}

这样,您就可以导入默认主题,并使用它将自定义字体添加到默认字体系列中。
此外,您可以使用sans代替customfontname,因为它是Tailwind CSS中的默认字体系列键。
应用自定义字体的另一种方法是导入**_app.js**文件中的字体,并在全局CSS类中使用该字体。
需要注意的是,此错误也可能是由您导入到项目中的任何其他CSS文件导致的,这些文件可能使用了'defaultTheme'变量,但它没有定义。

n3schb8v

n3schb8v2#

将您的customfontname添加到主题的extend

const defaultTheme = require('tailwindcss/defaultTheme')

module.exports = {
  theme: {
    extend: {     // 👈 Add it inside this 
     fontFamily: {
      customfontname: ['Segoe UI', 
                       'Helvetica Neue', 
                       'Arial',
                       'sans-serif',
                       /*...*/ defaultTheme.fontFamily.customfontname],
      },
    }
  }
}

相关问题