首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PurgeCSS在next.js中删除尾随字体

PurgeCSS在next.js中删除尾随字体
EN

Stack Overflow用户
提问于 2020-09-13 20:40:40
回答 2查看 1.2K关注 0票数 3

我有一个正在构建的next.js站点,它使用下面的特定文本,

代码语言:javascript
复制
const defaultTheme = require('tailwindcss/defaultTheme')

module.exports = {
  theme: {
    extend: {
      fontFamily: {
        sans: ['SFMono-Regular', 'Menlo', ...defaultTheme.fontFamily.sans],
      },
      colors: {
        // indigo: '#7D00FF',
        blue: '#51B1E8',
        red: '#FF0E00',
      },
    },
  },
  plugins: [
    require('@tailwindcss/ui'),
  ]
}

由于某些原因,文本样式在部署到Vercel时会被清除。这是清除css配置。

代码语言:javascript
复制
module.exports = {
    plugins: [
      "postcss-import",
      "tailwindcss",
      "autoprefixer"
    ]
  };

  const purgecss = [
    "@fullhuman/postcss-purgecss",
    {
      content: [
        './pages/**/**/*.{js,jsx,ts,tsx}',
        './pages/**/*.{js,jsx,ts,tsx}',
        './pages/*.{js,jsx,ts,tsx}',

        './components/**/**/*.{js,jsx,ts,tsx}',
        './components/**/*.{js,jsx,ts,tsx}',
        './components/*.{js,jsx,ts,tsx}',
        ],
      defaultExtractor: content => content.match(/[\w-/:]+(?<!:)/g) || []
    }
  ];
  module.exports = {
    plugins: [
      "postcss-import",
      "tailwindcss",
      "autoprefixer",
      ...(process.env.NODE_ENV === "production" ? [purgecss] : [])
    ]
  };

怎么一回事?

提前谢谢你,

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-10-09 09:40:19

我可以通过在设置中将htmlbody添加到safelist来解决这个问题。

代码语言:javascript
复制
const purgecss = require('@fullhuman/postcss-purgecss')({
  // Specify the paths to all of the template files in your project
  content: [
    // './src/**/*.html',
    './pages/**/*.vue',
    './layouts/**/*.vue',
    './components/**/*.vue'
  ],
  safelist: ['html', 'body'],

  // Include any special characters you're using in this regular expression
  defaultExtractor: content => content.match(/[A-Za-z0-9-_:/]+/g) || []
})

注意您使用的是哪个版本的purgecss (请查看package.json):从whitelistPatternssafelist有一个更改,我花了一些时间才弄清楚

票数 4
EN

Stack Overflow用户

发布于 2021-03-19 01:06:53

我在我的Vue项目中设置了这个:

代码语言:javascript
复制
module.exports = {
  content: [
    "./src/**/*.vue",
  ],
  safelist: [
    "body",
    "html",
    "img",
    "a",
    "g-image",
    "g-image--lazy",
    "g-image--loaded",
    /-(leave|enter|appear)(|-(to|from|active))$/,
    /^(?!(|.*?:)cursor-move).+-move$/,
    /^router-link(|-exact)-active$/,
    /data-v-.*/,
  ],
  extractors: [
    {
      extractor: (content) => content.match(/[A-z0-9-:\\/]+/g),
      extensions: ["vue"],
    },
  ],
}

根据您使用的PurgeCSS版本(我的版本是:v3.1.3),safelist用于排除模式,在较旧的版本中,您可能必须使用whitelist

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63870891

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档