Próbuję usunąć nieużywane klasy css z mojej aplikacji przy użyciu purify-css dla WebPack.Usuń nieużywane css z React i Webpack
Aby zbudować ten projekt, używam React
, scss
, WebPack
i PostCss
do budowania i kompilowania wszystkiego.
Do tej pory udało mi się osiągnąć postęp, ale coś jest nie tak i nie wiem dlaczego, ale oczekiwany wynik nie jest prawidłowy. Mam bardzo podstawowej konfiguracji tylko do testowania tych scenariuszy, więc to jest mój index.html i app.js pliki (tylko pliki mam tak daleko):
index.html
<body>
<nav>
<a href="">home</a>
</nav>
<hr />
<div id="app"></div>
<footer class="my-other-heading"></footer>
</body>
app.js
class App extends React.Component {
render() {
return (
<h1 className="my-other-heading">Mamamia!</h1>
);
}
}
render(<App />, window.document.getElementById("app"));
na plikach css używam Normalize.css (z bandą css classess) i zaledwie 3 niestandardowych klasach:
.my-class {
background-color: #CCDDEE;
}
.my-heading {
color: red;
}
.my-other-heading {
color: blue;
}
Oczekiwany wynik powinien zawierać tylko te klasy:
html, body, nav, a, hr, div, footer, h1, .my-other-heading
Jednak ma kilka innych klas:
.my-heading, h2, h3, h4, [type='checkbox'] (and other similar, e.g.: [type='button']
Dlaczego tak się dzieje? Usuwa prawie wszystkie klasy, które powinny, ale niektóre z nich wciąż tu są i klasy, które wyraźnie nie są używane w pliku indeksu. Nie wiem, czy utrzymują się one z powodu innej deklaracji po stronie React, ale mam na myśli tylko pliki src. To jest mój css oczyścić-config:
new PurifyCSSPlugin({
paths: glob.sync([
path.join(__dirname, '..', 'src', '**/*.html'),
path.join(__dirname, '..', 'src', '**/*.js'),
]),
})
Ten sam problem. Znalazłeś rozwiązanie? – BugHunterUK
@BugHunterUK jeszcze nie. Sposób, w jaki udało mi się go "sprawić", nie usuwa wszystkich nieużywanych klas. Zawsze coś pozostało. – celsomtrindade