Tailwind CSS & ASP.NET Core
Tailwind CSS è un'utilità-la prima struttura CSS per costruire rapidamente progetti personalizzatiM SK1 È altamente personalizzabile, bassaMSC3 una struttura CSS a livello che vi dà tutti i componenti di costruzione necessari per costruire progetti personalizzate senza alcun tipo annoiante di stili opinionati che dovete combattervi per sovraridere
Uno dei grandi vantaggi di Tailwind rispetto a 'traditionaliM SK1 strutture CSS come Bootstrap è che Tail Wind include un 'scanning' e un passo di costruzione così include solo il CSS che usate davvero nel vostro progettoMSC4 Questo significa che potete includere l'intera biblioteca CSS di Taelwind nel vostro project senza preoccuparsi della dimensione del file CSSMNK5
L'installazione
Un grande difetto rispetto a Bootstrap è che Tailwind non è un 'drop in'file CSSM SK2 dovete installarlo usando npm o filamento (la sezione successiva viene dal Questo.).
npm install -D tailwindcss
npx tailwindcss init
Questo installerà Tailwind CSS e creerà un tailwind.config.js filein the root of your project. Questo file è usato per configurere Tailwind CSS.
Pacco.json
Se guardate fonte di questo progetto Voi' vedrete che ho un package.json file che include le definizioni 'script' e 'devDependenciesM SK3
{
"scripts": {
"dev": "npm-run-all --parallel dev:*",
"dev:js": "webpack",
"dev:tw": "npx tailwindcss -i ./src/css/main.css -o ./wwwroot/css/dist/main.css",
"watch": "npm-run-all --parallel watch:*",
"watch:js": "webpack --watch --env development",
"watch:tw": "npx tailwindcss -i ./src/css/main.css -o ./wwwroot/css/dist/main.css --watch",
"build": "npm-run-all --parallel build:*",
"build:js": "webpack --env production",
"build:tw": "npx tailwindcss -i ./src/css/main.css -o ./wwwroot/css/dist/main.css --minify"
},
"devDependencies": {
"@tailwindcss/aspect-ratio": "^0.4.2",
"@tailwindcss/forms": "^0.5.7",
"@tailwindcss/typography": "^0.5.12",
"@types/alpinejs": "^3.13.10",
"autoprefixer": "^10.4.19",
"cssnano": "^7.0.4",
"daisyui": "^4.12.10",
"npm-run-all": "^4.1.5",
"tailwindcss": "^3.4.3",
"ts-loader": "^9.5.1",
"typescript": "^5.4.5",
"webpack": "^5.91.0",
"webpack-cli": "^5.1.4"
}
}
Questi sono i 'scripts' che uso per costruire il file CSS Tailwind. dev Il script è quello che uso per costruire il file CSS per lo sviluppo. watch Il script è quello che uso per guardare il file CSS per i cambiamenti e ricostruirlo. build Script è quello che uso per costruire il file CSS per la produzione.
La sezione devDependencies è come i vostri pacchetti nuget per i vostri progetti .NET. Sono i pacchetti che vengono usati per costruire il file CSS
Tailwind.config.js
Questi sono usati insieme al tailwind.config.js file che è nella radice del progetto. Questo file viene usato per configurere Tailwind CSS. Qui c'è il tailwind.config.js file che uso:
// tailwind.config.js
const defaultTheme = require("tailwindcss/defaultTheme");
module.exports = {
content: [
'./Pages/**/*.{html,cshtml}',
'./Components/**/*.{html,cshtml}',
'./Views/**/*.{html,cshtml}',
],
safelist: ["dark"],
darkMode: "class",
theme: {
},
},
plugins: [
require("@tailwindcss/typography")({
modifiers: [],
}),
require("@tailwindcss/forms"),
require("@tailwindcss/aspect-ratio"),
require('daisyui'),
]
};
Questo file è usato per configurere Tailwind CSS. content la sezione viene usata per dire a Tailwind CSS dove cercare le classi di CSS che state usando nel vostro progetto. In ASP.NET Core questo di solito includerà: Pages, Components, e Views folders. VoiM SK1 noterete che questo può anche 'cshtml ' fileMSC4
Uno 'gotcha' per il vento di coda è che si può includere. <div class="hidden></div> sections per assicurarvi di includere tutte le classi css necessarie nella 'build' che non avete nella vostra targhetta.
L'informazione figura nella parte dispositiva. safelist la sezione viene usata per dire a Tailwind CSS quali classi includere nel file CSS. darkMode la sezione viene usata per dire a Tailwind CSS di usare le classi in modo buio. theme la sezione è usata per configurere il tema di Tailwind CSS. plugins la sezione è usata per includere i plugin che state usando nel vostro progetto. Questo viene poi usato da Tailwind per compilare il file CSS sepcified in:
"buildM SK1tw": "npx tailwindcss -i SSK5srcMNK6cssMKK7mainMMK8cs s S-o M./wwwrootMSC11csSMEK12distMST13main\MST14cs R--minifyMSS16
CSPROJ
La parte finale di questo è nel file CSProj stesso. Questo include una sezione proprio prima della fine. <Project> tag:
<Target Name="BuildCss" BeforeTargets="Compile">
<Exec Command="npm run dev" Condition=" '$(Configuration)' == 'Debug' " />
<Exec Command="npm run build" Condition=" '$(Configuration)' == 'Release' " EnvironmentVariables="NODE_ENV=production" />
</Target>
Come potete vedere si riferisce al script di costruzione per ricostruire il CSS su ogni progetto build.