reactjs - Turborepo React uygulaması Tailwind'i yüklemekte başarısız oluyor
Şu anda içerisinde 1 React Vite Uygulaması ve tailwind-config paketi bulunan Turborepo ile bir monorepo oluşturdum. Ve şu anki sorunum, uygulamamın tailwind'i hiç yüklememesi. Proje yapımı ve dosyalarımı size açıklamaya çalışayım.
root
|
|- packages
| |- tailwind-config
|
`- apps
|- container
tailwind-config modülü temel package.json, tailwind.config.js ve postcss.config.js dosyalarını içerir.
tailwind.config.js:
/** @type {import('tailwindcss').Config} */
module.exports = {
content: [],
theme: {
extend: {},
},
plugins: [],
}
postcss.config.js:
module.exports = {
plugins: {
tailwindcss: {},
autoprefixer: {}
}
}
Kapsayıcı uygulamamın içinde tailwind-config paketini yerel geliştirme bağımlılığı olarak ekledim, index.css dosyama Tailwind yönergelerini ekledim.
Sonunda konteynerde oluşturduğum tailwind.config.cjs şöyle görünüyor:
/** @type {import('tailwindcss').Config} */
const sharedConfig = require("tailwind-config/tailwind.config")
module.exports = {
...sharedConfig,
content: ["./src/**/*.{js,ts,jsx,tsx}", "./public/index.html"]
}
Ve postcss.config.cjs
module.exports = {
plugins: {
tailwindcss: {},
autoprefixer: {},
}
}
Belirttiğim gibi sorun, container uygulamanın verdiğim hiçbir Tailwind sınıfını uygulamıyor olmasıdır.
Hepinize şimdiden yardım için teşekkür ederim ve umarım güzel bir gününüz olur :)
Cevap #1
tailwind.config.js dosyasında .jsx/.tsx dosyalarının tam konumunu ekleyin, örneğin:
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}"]
}
Cevap #2
Tailwind yapılandırmalarını paylaşmanın daha iyi bir yolu, ön ayarları kullanmaktır.
- Paylaşılan yapılandırma klasörünüzde bir
tailwind-presets.jsdosyası oluşturun - Kullanmak istediğiniz tüm yapılandırma seçeneklerini tüm projelere ekleyin
/** @type {import('tailwindcss').Config} */
module.exports = {
content: ["./src/**/*.{js,jsx,ts,tsx}"],
theme: {
extend: {},
},
plugins: [require("daisyui"), require("@tailwindcss/typography")],
};
- Her projede,
tailwind.config.jsdosyasını ön ayarı kullanacak şekilde ayarlayın
/** @type {import('tailwindcss').Config} */
module.exports = {
presets: [require("../../packages/config/tailwind-preset.js")],
};
Her projede herhangi bir seçeneği tek tek geçersiz kılabilirsiniz, ancak bu, yapılandırmayı paylaşmanın oldukça basit bir yoludur.
