reactjs - Turborepo React -sovellus ei lataa Tailwindia
Olen luonut monorepon Turboren avulla, jossa on tällä hetkellä 1 React Vite -sovellus ja tailwind-config-paketti. Ongelmana tällä hetkellä on, että sovellukseni ei lainkaan lataa Tailwindia. Yritän selittää sinulle projektini rakenteen ja tiedostot.
root
|
|- packages
| |- tailwind-config
|
`- apps
|- container
tailwind-config-moduuli sisältää perus package.json-, tailwind.config.js- ja postcss.config.js-tiedostot.
tailwind.config.js:
/** @type {import('tailwindcss').Config} */
module.exports = {
content: [],
theme: {
extend: {},
},
plugins: [],
}
postcss.config.js:
module.exports = {
plugins: {
tailwindcss: {},
autoprefixer: {}
}
}
Säiliösovellukseni sisällä lisäsin tailwind-config-paketin paikalliseksi kehityssisäiseksi riippuvuudeksi ja lisäsin Tailwind-direktiivit index.css-tiedostooni.
Lopuksi kontissa loin tiedoston tailwind.config.cjs, joka näyttää tältä:
/** @type {import('tailwindcss').Config} */
const sharedConfig = require("tailwind-config/tailwind.config")
module.exports = {
...sharedConfig,
content: ["./src/**/*.{js,ts,jsx,tsx}", "./public/index.html"]
}
Ja postcss.config.cjs
module.exports = {
plugins: {
tailwindcss: {},
autoprefixer: {},
}
}
Kuten mainitsin, ongelma on se, että konttisovellus ei käytä mitään antamiani Tailwind-luokkia.
Kiitos teille kaikille avusta etukäteen ja toivottavasti teillä on mukava päivä :)
Vastaus #1
Lisää .jsx/.tsx-tiedostojen tarkka sijainti tailwind.config.js-tiedostoon, esimerkiksi:
tailwind.config.js
/** @type {import('tailwindcss').Config} */
const sharedConfig = require("tailwind-config/tailwind.config")
module.exports = {
...sharedConfig,
content: ["./src/**/*.{js,ts,jsx,tsx}", "./public/index.html", "../apps/**/*.{js,ts,jsx,tsx}"]
}
Vastaus #2
Parempi tapa jakaa Tailwindin asetuksia on käyttää esiasetuksia.
- Luo
tailwind-presets.js-tiedosto jaettuun konfiguraatiokansioosi - Lisää kaikki asetukset, joita haluat käyttää kaikissa projekteissa
/** @type {import('tailwindcss').Config} */
module.exports = {
content: ["./src/**/*.{js,jsx,ts,tsx}"],
theme: {
extend: {},
},
plugins: [require("daisyui"), require("@tailwindcss/typography")],
};
- Jokaisessa projektissa, aseta
tailwind.config.jskäyttämään esiasetusta
/** @type {import('tailwindcss').Config} */
module.exports = {
presets: [require("../../packages/config/tailwind-preset.js")],
};
Voit ohittaa minkä tahansa vaihtoehdon yksitellen jokaisessa projektissa, mutta tämä on melko suoraviivainen tapa jakaa määritykset.
