【问题标题】:Certain parts of tailwind CSS not working in production顺风 CSS 的某些部分无法在生产中运行
【发布时间】:2021-10-23 21:05:25
【问题描述】:

我为我的下一个 JS 应用程序构建了一个静态网站,该应用程序使用 tailwind CSS 进行样式设置。我将静态用作 CDN。开发服务器(本地主机)中的网站运行良好。但是,在生产中,样式的某些部分似乎被破坏了(准确地说是页眉、页脚和暗/亮模式之间的切换)。附上截图供参考。
本地服务器:

生产:

当我检查本地和生产环境中的相应元素时,HTML 结构和类名似乎没有区别,但是当我将鼠标悬停在生产中损坏的元素(本例中为导航项)上时,相应的元素没有被突出显示。 到目前为止,这是我能够找到的。下面是几个配置文件:
next.config.js:

const isProd = process.env.NODE_ENV === 'production'
module.exports = {
  reactStrictMode: true,
  
  images: {
    // domains: ['raw.githubusercontent.com','ibb.co'],
    domains: ['raw.githubusercontent.com'],
    loader:'imgix',
    path:''
  },
  assetPrefix: isProd ? 'CDN_LINK_HERE' : '',
}

tailwind.config.css

module.exports = {
  purge: ['./pages/**/*.{js,ts,jsx,tsx}', './components/**/*.{js,ts,jsx,tsx}'],
  darkMode: 'class', // or 'media' or 'class'
  theme: {
    extend: {},
  },
  variants: {
    extend: {},
  },
  plugins: [],
}

我该如何解决这个问题? 谢谢。

【问题讨论】:

    标签: reactjs npm next.js image-optimization static-web-apps


    【解决方案1】:

    确保在 tailwind.config.css 的清除数组中添加需要应用 CSS 的完整路径列表。

    module.exports = {
    // ▼ here you need to add all paths according to your needs
      purge: ['./pages/**/*.{js,ts,jsx,tsx}', './components/**/*.{js,ts,jsx,tsx}', './your-other-component-folder/**/*.{js,ts,jsx,tsx}'], 
      darkMode: 'class', // or 'media' or 'class'
      theme: {
        extend: {},
      },
      variants: {
        extend: {},
      },
      plugins: [],
    }
    

    【讨论】:

    • 您好,感谢您的回答。我能够使用 imgix 解决问题并将路径设置为 '' 。导出成功,但 CSS 的一些部分似乎在生产中被破坏了,(我正在使用 Tailwind CSS),知道有什么问题吗?我正在静态使用 CDN。
    • 很难说没有看到任何设置或结果。由于似乎只有几个部分损坏了,到底是什么失败了?这些来源是如何引用的?如果您正在检查代码,失败的部分是否指向正确的目的地?
    • 我已经更新了问题并附上了所需的文件/屏幕截图,您能看一下吗?
    • 嗯。 tailwind.config.css 中的清除数组是否引用了您的页眉、页脚和切换所在的文件夹?对于调试,您也可以尝试更具体:purge: ['./pages/**/*.js', './components/**/*.js'],(如果您使用 .js 文件作为组件)
    • 可能它起作用了,因为您之前没有创建production build,而是在开发环境中工作。在你为生产而构建的那一刻,你的目标是尽可能地缩小你的包大小。这就是包打包器(例如 webpack)正在做的事情,也是 tailwind 根据您提供的配置挂钩的地方。如果您指定了purge: false,您可能不会遇到这个问题,因为那样它将被跳过 = 没有优化。 [一个猜测,我从来没有用过tailwind =)]它是如何工作的:tailwindcss.com/docs/optimizing-for-production
    猜你喜欢
    • 2021-10-29
    • 2016-09-12
    • 1970-01-01
    • 2021-11-12
    • 2013-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-14
    相关资源
    最近更新 更多