Используя попутный ветер css с React, размер не уменьшился после очистки - PullRequest
2 голосов
/ 05 августа 2020

Я пытаюсь настроить попутный ветер с помощью извлеченного приложения create-react-app. Мне удалось заставить его работать, но не удалось очистить размер. вот моя настройка

. / src / assets / styles / tailwind. css

@tailwind base;

@tailwind components;

@tailwind utilities;

post css .config. js

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

tailwind.config. js

module.exports = {
  purge: ["./src/**/*.js"],
  theme: {
    extend: {}
  },
  variants: {},
  plugins: []
};

пакет. json

"scripts": {
    "start": "node scripts/start.js && postcss src/assets/styles/tailwind.css -o src/assets/styles/main.css -w",
    "build": "node scripts/build.js && postcss src/assets/styles/tailwind.css -o src/assets/styles/main.css"
}

index. js

import "./assets/styles/main.css";
// ...

Я пытался создать такой компонент и его работу

<div className="w-64 h-64 bg-red-200">hai</div>

, но когда я собираю, даже я дал путь к чистке в конфиге, размер не уменьшался. Это константа 143 КБ, добавляю я путь очистки или нет. Я также пробовал такую ​​ручную очистку на postcss.config.js, но не работал

// postcss.config.js
const purgecss = require("@fullhuman/postcss-purgecss")({
  // Specify the paths to all of the template files in your project
  content: [
    "./src/**/*.js"
    // etc.
  ],

  // This is the function used to extract class names from your templates
  defaultExtractor: (content) => {
    // Capture as liberally as possible, including things like `h-(screen-1.5)`
    const broadMatches = content.match(/[^<>"'`\s]*[^<>"'`\s:]/g) || [];

    // Capture classes within other delimiters like .block(class="w-1/2") in Pug
    const innerMatches = content.match(/[^<>"'`\s.()]*[^<>"'`\s.():]/g) || [];

    return broadMatches.concat(innerMatches);
  }
});

module.exports = {
  plugins: [
    require("tailwindcss"),
    require("autoprefixer"),
    ...(process.env.NODE_ENV === "production" ? [purgecss] : [])
  ]
};

Что не так с моей настройкой?

1 Ответ

2 голосов
/ 19 августа 2020

В последних версиях, начиная с 1.4.0, вам не нужно вручную настраивать Purge CSS.

// postcss.config.js
module.exports = {
    plugins: [
        require('tailwindcss'),
        require('autoprefixer')
    ]
}
//tailwind.config.js
module.exports = {
  purge: [
      './src/**/*.js'
  ],
  theme: {
    extend: {},
  },
  variants: {},
  plugins: [],
}
// package.json
  "scripts": {
    "start": "npm run build:css && react-scripts start",
    "build": "NODE_ENV=production npm run build:css && react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject",
    "build:css": "postcss tailwind.css -o src/main.css"
  },

Обратите внимание на NODE_ENV=production.

Документация говорит:

Теперь всякий раз, когда вы компилируете свой CSS с NODE_ENV, установленным в рабочий режим, Tailwind автоматически удаляет неиспользуемые стили из вашего CSS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...