Tailwind CSS не показывает изменения. [Реакция + Tailwindcss]

Я нахожусь в процессе создания проекта Instagram Clone SSR с использованием React и Tailwind.CSS, но я застрял с Tailwind CSS. Я установил необходимые зависимости, изменил необходимые скрипты, также добавил пути в tailwindcss.config.js, добавил директивы @tailwind в приложение. css, но все, что написано в именах классов, не отражается в результате после npm start

Файл Login.js для страницы входа

import { useContext, useEffect, useState } from "react";
import { useNavigate } from "react-router-dom";
import FirebaseContext from "../context/firebase";
import "../styles/app.css";

export default function Login() {
  const navigate = useNavigate();
  const { firebase } = useContext(FirebaseContext);

  const [emailAddress, setEmailAddress] = useState("");
  const [password, setPassword] = useState("");

  const [error, setError] = useState("");
  const isInvalid = password === "" || emailAddress === "";

  const handleLogin = () => {};

  useEffect(() => {
    document.title = "Login - Instagram";
  }, []);
  return (
    <div className='container flex mx-auto max-w-screen-md items-center h-screen'>
      <div className='flex w-3/5'>
        <img
          src='/images/iphone-with-profile.jpg'
          alt='iPhone with Instagram App'
          className='max-w-full'
        />
      </div>
      <div className='flex flex-col w-2/5'>
        <p>This is the Form</p>
      </div>
    </div>
  );
}

файл package.json — скрипты и зависимости

{
  "name": "instagram",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "@testing-library/jest-dom": "^5.16.5",
    "@testing-library/react": "^13.4.0",
    "@testing-library/user-event": "^13.5.0",
    "date-fns": "^2.29.3",
    "prop-types": "^15.8.1",
    "react": "^18.2.0",
    "react-dom": "^18.2.0",
    "react-loading-skeleton": "^3.1.0",
    "react-router-dom": "^6.8.1",
    "react-scripts": "^5.0.1",
    "web-vitals": "^3.1.1"
  },
  "scripts": {
    "build:css": "postcss src/styles/tailwind.css -o src/styles/app.css",
    "watch:css": "postcss src/styles/tailwind.css -o src/styles/app.css --watch",
    "react-scripts:start": "react-scripts start",
    "start": "run-p watch:css react-scripts:start",
    "build": "run-s build:css react-scripts:build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },
  "eslintConfig": {
    "extends": [
      "react-app",
      "react-app/jest"
    ]
  },
  "browserslist": {
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  },
  "devDependencies": {
    "autoprefixer": "^10.4.13",
    "babel-eslint": "^10.1.0",
    "eslint-config-airbnb": "^19.0.4",
    "eslint-config-prettier": "^8.6.0",
    "eslint-plugin-import": "^2.27.5",
    "eslint-plugin-jsx-a11y": "^6.7.1",
    "eslint-plugin-prettier": "^4.2.1",
    "eslint-plugin-react": "^7.32.2",
    "eslint-plugin-react-hooks": "^4.6.0",
    "eslint-scope": "^7.1.1",
    "npm-run-all": "^4.1.5",
    "postcss": "^8.4.21",
    "postcss-cli": "^10.1.0",
    "postcss-loader": "^7.0.2",
    "prettier": "^2.8.4",
    "tailwindcss": "^3.2.6"
  }
}

postcss.config.js

module.exports = {
  plugins: [require("tailwindcss"), require("autoprefixer")],
};

хвостовой ветер.config.js

module.exports = {
  future: {
    removeDeprecatedGapUtilities: true,
  },
  theme: {
    extend: {},
  },
  variants: {},
  plugins: [],
  content: ["./src/**/*.html", "./src/**/*.jsx", "./public/index.html"],
};

И в моем файле app.css исходный файл содержал команды «@tailwind» (база, утилиты, компоненты), но они были заменены сгенерированным кодом CSS, который следует стилям, определенным в конфигурации CSS Tailwind.

Может быть, я что-то упускаю из виду, но вам действительно нужны фигурные скобки, чтобы обернуть ваши имена классов? Что, если вы удалите их и сделаете что-то вроде: className='flex w-3/5'?

Kavian Rabbani 10.02.2023 09:29

Я использовал эти фигурные скобки, потому что видел их в документации tailwind.css. Я также удалил это, и оно все еще не работает.

Utkarsh Kumar 10.02.2023 12:12

Так что, возможно, это только потому, что расширение вашего компонента .js, но у вас нет .js файлов, охватываемых вашей конфигурацией попутного ветра (свойство content). Я бы рекомендовал изменить расширение файла вашего компонента на .jsx.

Kavian Rabbani 10.02.2023 12:28

Да, наконец-то это сработало. Потратив один день на такую ​​​​маленькую ошибку, теперь это работает. Спасибо!

Utkarsh Kumar 10.02.2023 12:51

Я не могу дать голос. Поскольку вы прокомментировали вопрос, поэтому нет возможности голосовать за или против

Utkarsh Kumar 10.02.2023 17:37

Только что добавил мой ответ, немного удалю приведенные выше комментарии.

Kavian Rabbani 10.02.2023 17:41
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
0
6
56
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Вы должны удалить фигурные скобки в вашем classNames :

<div className='container flex mx-auto max-w-screen-md items-center h-screen'>

Я пробовал, это тоже все еще не работает

Utkarsh Kumar 10.02.2023 12:09
Ответ принят как подходящий

Я думаю, это потому, что расширение вашего компонента .js, но у вас нет .js файлов, охватываемых вашей конфигурацией Tailwind (свойство контента). Я бы рекомендовал изменить расширение файла вашего компонента на .jsx.

Другие вопросы по теме