Blazor项目配置Tailwind CSS 4.x

打印 上一主题 下一主题

主题 1951|帖子 1951|积分 5853

前置


  • 已安装node.js,可利用npm
  • 仅实用于现在的4.x(我利用的是4.1)。
  • 基于.net 10 preview-4 Blazor Server Webapp 默认模板,但是这个关系不大。
安装


  • 在根目录安装tailwindcss cli
  1. npm install tailwindcss @tailwindcss/cli
复制代码

  • 新建tailwind.config.js文件
  1. module.exports = {
  2.     content: [
  3.         //配置要监视的文件
  4.         './**/*.razor',
  5.         './wwwroot/app.css'
  6.     ],
  7. }
复制代码
实际上也可以在安装在wwwroot等目录,只要确保能配置正确的监视文件路径就行
编译与利用

1. 利用
  1. // 引用tailwindcss
  2. // 以我的./wwwroot/app.css为例
  3. // 其实直接新建一个新的空的css也行,并不必须在网页中引用这个输入文件。
  4. @import "tailwindcss";
复制代码
在razor页面中书写tailwind css相关样式
  1. @page "/"
  2. <PageTitle>Home</PageTitle>
  3. <h1 >Hello, world!</h1>
  4. Welcome to your new app.
复制代码
2. 编译

2.1. 实时编译
  1. // 通过cli实时监视文件变化来编译。缺点是每次打开项目的时候都要运行一次这个命令。
  2. // -i 后面为输入文件,即步骤1中的引用了tailwindcss的css文件
  3. // -0 后面为输出文件,记得在主页中引用,否则不会生效
  4. // --wathc/-w 实时监视文件变化并编译,不加的话就是运行时编译一次
  5. npx @tailwindcss/cli -i ./wwwroot/app.css -o ./wwwroot/output.css --watch
复制代码
2.2 构建时编译
  1. // 2.2.1 修改项目文件,使项目在构建前先输出css文件
  2. <Project Sdk="Microsoft.NET.Sdk.Web">
  3.     <PropertyGroup>
  4.         <TargetFramework>net10.0</TargetFramework>
  5.         <Nullable>enable</Nullable>
  6.         <ImplicitUsings>enable</ImplicitUsings>
  7.     </PropertyGroup>
  8.     // 加入下面这一段
  9.     <Target Name="Tailwind" BeforeTargets="Build">
  10.         <Exec Command="npx @tailwindcss/cli -i ./wwwroot/app.css -o ./wwwroot/output.css"/>
  11.     </Target>
  12. </Project>
复制代码
3. 引用
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4.     <meta charset="utf-8"/>
  5.     <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
  6.     <base href="/"/>
  7.        
  8.        
  9.        
  10.        
  11.        
  12.     <link rel="stylesheet" href="@Assets["output.css"]"/>
  13.        
  14.     <link rel="stylesheet" href="@Assets["TwTest.styles.css"]"/>
  15.     <ImportMap/>
  16.     <link rel="icon" type="image/png" href="favicon.png"/>
  17.     <HeadOutlet @rendermode="InteractiveServer"/>
  18. </head>
  19. <body>
  20. <Routes @rendermode="InteractiveServer"/>
  21. <ReconnectModal/>
  22. </body>
  23. </html>
复制代码
结果
  1. @page "/"
  2. <PageTitle>Home</PageTitle>
  3. <h1 >Hello, world!</h1>
  4. Welcome to your new app.
复制代码
由于tailwind css和bootstrap中许多命名相同,虽然删除了自带的bootstrap引用,并只对home页面中的hello world添加了样式,但是整体视觉结果看起来差别不大。
对用惯了bootstrap框架的开发者来说还挺友好。

鸣谢

以上综合了官网和部门网友的例子
tailwind css https://tailwindcss.com/docs/upgrade-guide
知乎-呆牛【在Blazor Server中利用tailwindcss】https://zhuanlan.zhihu.com/p/634290978

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

熊熊出没

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表