Ich verwende Semantic-UI in meinem Create-React-App-Projekt. Ich verwende ein benutzerdefiniertes Design, um einzelne Komponenten mit ThemeProvider zu ändern, was gut funktioniert. Allerdings versuche ich herauszufinden, wie die weniger Variablen geändert werden können als beschrieben in der Semantic-Ui-Dokumentation
Die reag semantic-ui -Dokumentation bietet dazu nicht viel. Irgendwelche Ratschläge?
Mein Index.js sieht ungefähr so aus:
import 'semantic-ui-css/semantic.min.css'
import { ThemeProvider } from 'styled-components'
import mainTheme from './themes/mainTheme'
ReactDOM.render(
<ThemeProvider theme={mainTheme}>
<App />
</ThemeProvider>
document.getElementById('root')
)
Bearbeiten: Um genau zu sein, was ich erreichen möchte, möchte ich die verwendete Hauptschriftart ändern.
Ich stieß auf dieses Tutorial, um ein benutzerdefiniertes Design mit sematnicer Benutzeroberfläche und CRA zu verwenden , das diesen Prozess perfekt umreißt. Es ist ein ziemlich langer Prozess, also lasse ich ihn nur mit dem Link.
BEARBEITEN: Sie können dafür das semantic-ui-Paket verwenden. https://react.semantic-ui.com/usage#semantic-ui-package
Installieren Sie das vollständige Semantic UI-Paket. Die semantische Benutzeroberfläche enthält Gulp-Build-Tools, mit denen Ihr Projekt seine eigenen Designänderungen beibehalten und die Stilvariablen anpassen kann.
Eine ausführliche Dokumentation zum Thema Semantic UI finden Sie hier.
$ npm install semantic-ui --save-dev
Nachdem Sie das Projekt mit Gulp erstellt haben, müssen Sie die minimierte CSS-Datei in Ihre index.js-Datei aufnehmen:
import '../semantic/dist/semantic.min.css';
Andere Ansätze: Eine Möglichkeit besteht darin, eine Theme-Konfiguration als Teil Ihres Projekts zu haben und semantic-ui wahrscheinlich in forked git repo zu haben. Verwenden Sie diese Konfiguration, um einen benutzerdefinierten Build-Befehl auszuführen, der https: // semantic-ui ähnlich ist. de/einführung/build-tools.html .
Workflow wäre so. Führen Sie gulp build-new
(In Forked Semantic-UI Repo) aus, das ein Argument für den Pfad theme.config
Annimmt (das auf den Pfad Ihres Reactive Projects-Themas verweist), und platzieren Sie es in Forked Repo, und führen Sie dann die Generierung von gulp build
Aus Themen-CSS. Sie können die Aufgabe haben, sogar konformes CSS in Ihr Reaktionsprojekt zu ersetzen.
Die kurze Antwort ... Ich glaube nicht, dass du das kannst.
Da Sie die .css
-Datei hier direkt importieren, verwenden Sie das kompilierte Stylesheet, so dass weniger Variablen Ihnen nichts nützen. Ich sehe zwei Möglichkeiten, um dieses Problem zu lösen.
1) Erstellen Sie ein eigenes Stylesheet, das weniger Dateien dieser Bibliotheken importiert. Ich empfehle diese Option nicht, da Sie weniger bereits verwenden.
2) Überschreiben Sie die Schriftart selbst in Ihrem eigenen Stylesheet. Da Sie Stilkomponenten verwenden, können Sie die Option injectGlobal
verwenden, um dies zu erreichen.
Wenn Sie über den Ordner docs schauen, können Sie im Grunde einen globals
-Ordner in Ihrem theme
-Ordner haben, der zwei optionale Dateien enthält: site.variables
und site.overrides
. Ich gehe davon aus, dass Sie die @font
-Variable in besagtem site.overrides
überschreiben könnten.
Sie können ein Beispiel für site.variables
hier sehen.
Check out die offizielle Version , enthält die vorkonfigurierte Umgebung mit Webpack3 und Beispiele für folgende Themen/ Leitfaden .