使用React和Tailwind CSS搭建项目框架

简介: 众所周知,Tailwind CSS框架越来越流行,所以我决定尝试学习并使用Tailwind CSS来搭建一个项目模板,一方面自己深入学习下,二来帮助新人更快地上手Tailwind CSS开发。

M4@(]P5D%){LJ8C9W[(_O`J.png

众所周知,Tailwind CSS框架越来越流行,所以我决定尝试学习并使用Tailwind CSS来搭建一个项目模板,一方面自己深入学习下,二来帮助新人更快地上手Tailwind CSS开发。


创建一个React项目


通过使用create-react-app命令创建一个新的React项目

npx create-react-app cra-tailwind-template
cd cra-tailwind-template

如果没有安装过create-react-app包,会先安装包,输入yes直接安装

这样就成功创建了一个React项目模板,并进入到项目根目录


安装Tailwind CSS


通过以下命令执行安装

npm install tailwindcss@npm:@tailwindcss/postcss7-compat @tailwindcss/postcss7-compat postcss@^7 autoprefixer@^9

配置Craco

Craco是一个为你创建的React项目而使用的简易的配置成层。

通过在应用程序的根目录中添加craco.config.js文件,即可给eslint,babel,postcss等添加自定义配置,这样可以统一集中化管理所有的配置。

npm install @craco/craco

安装好之后,编辑项目中package.json文件scripts部分

"scripts": {
    "start": "craco start",
    "build": "craco build",
    "test": "craco test",
    "eject": "react-scripts eject"
},

接下来,我们需要在项目根目录手动创建一个craco.config.js文件,并且添加tailwind和autoprefix作为PostCSS插件

module.exports = {
  style: {
    postcss: {
      plugins: [
        require('tailwindcss'),
        require('autoprefixer'),
      ],
    },
  },
}


创建配置文件

接着正式在项目中引入tailwind CSS框架,通过以下命令创建tailwind.config.js文件

npx tailwind init

创建好的文件位于项目的根目录下


编辑tailwind.config.js文件

下面,我们需要对tailwind.config.js文件进行编辑,将配置里purge项根据模板的路径,这样避免没有使用到的样式编译进生产环境的代码中

module.exports = {
  purge: ['./src/**/*.{js,jsx,ts,tsx}', './public/index.html'],
  darkMode: false, 
  theme: {
    extend: {},
  },
  variants: {
    extend: {},
  },
  plugins: [],
}


将Tailwind引入到CSS中

打开src/index.css文件,使用@tailwind命令来使用

@tailwind base;
@tailwind components;
@tailwind utilities;

最后将index.css引入到你的src/index.js文件中

import React from 'react';
import ReactDOM from 'react-dom';
import './index.css'; // include index.css
import App from './App';
import reportWebVitals from './reportWebVitals';
ReactDOM.render(
  <React.StrictMode>
    <App />
  </React.StrictMode>,
  document.getElementById('root')
);

到此,所有的配置结束了,我们可以在模板或页面文件中使用Tailwind CSS了。



目录
相关文章
|
16天前
|
前端开发 JavaScript
React项目路由懒加载lazy、Suspense,使第一次打开项目页面变快
本文介绍了在React项目中实现路由懒加载的方法,使用React提供的`lazy`和`Suspense`来优化项目首次加载的速度。通过将路由组件改为懒加载的方式,可以显著减少初始包的大小,从而加快首次加载速度。文章还展示了如何使用`Suspense`组件包裹`Switch`来实现懒加载过程中的fallback效果,并提供了使用前后的加载时间对比,说明了懒加载对性能的提升作用。
56 2
React项目路由懒加载lazy、Suspense,使第一次打开项目页面变快
|
16天前
|
前端开发 JavaScript Java
SpringBoot项目部署打包好的React、Vue项目刷新报错404
本文讨论了在SpringBoot项目中部署React或Vue打包好的前端项目时,刷新页面导致404错误的问题,并提供了两种解决方案:一是在SpringBoot启动类中配置错误页面重定向到index.html,二是将前端路由改为hash模式以避免刷新问题。
72 1
|
16天前
|
移动开发 前端开发
react项目配合diff实现文件对比差异功能
在React项目中,可以使用`diff`库实现文件内容对比差异功能。首先安装`diff`库,然后在组件中引入并使用`Diff.diffChars`或`Diff.diffLines`方法比较文本差异。通过循环遍历`diff`结果,可以生成不同样式的HTML元素来高亮显示文本差异。
37 1
react项目配合diff实现文件对比差异功能
|
16天前
|
前端开发 算法 JavaScript
React项目input输入框输入自动失去焦点
本文讨论了在React项目中如何处理input输入框自动失去焦点的问题,特别是在移动端开发中。文章提供了一个使用React Native的TouchableWithoutFeedback组件来监听点击事件,并在事件处理函数中通过调用Keyboard.dismiss()方法使输入框失去焦点的示例代码。这种方法可以确保在用户点击页面其他区域时,键盘能够收起,输入框失去焦点。
32 1
React项目input输入框输入自动失去焦点
|
16天前
|
JavaScript 前端开发 应用服务中间件
本地运行打包好的React、Vue项目
本文讨论了如何本地运行打包好的React和Vue项目,并解决了使用React-Router时Tomcat部署刷新页面导致404的问题,提出了将请求转回index.html的解决方案。
15 1
本地运行打包好的React、Vue项目
|
28天前
|
前端开发 搜索推荐 API
【Prompt Engineering:ReAct 框架】
ReAct 框架由 Yao 等人(2022)提出,结合大语言模型(LLMs)生成推理轨迹与任务操作,交替进行推理与行动。此框架允许模型与外部环境(如知识库)互动,以动态更新操作计划并处理异常。ReAct 在语言和决策任务上表现优异,提升模型的人类可解释性和可信度。研究显示,ReAct 优于多个基准模型,尤其在结合链式思考时效果最佳。通过实例演示,ReAct 能有效整合内外部信息,优化推理过程。
【Prompt Engineering:ReAct 框架】
|
1天前
|
前端开发 JavaScript 应用服务中间件
linux安装nginx和前端部署vue项目(实际测试react项目也可以)
本文是一篇详细的教程,介绍了如何在Linux系统上安装和配置nginx,以及如何将打包好的前端项目(如Vue或React)上传和部署到服务器上,包括了常见的错误处理方法。
11 0
linux安装nginx和前端部署vue项目(实际测试react项目也可以)
|
12天前
|
前端开发
React 使用 CSS 样式
在 React 应用程序中使用 CSS 有多种方法。 以下是一些常见的方式以及如何在 React 中实现这些方法的详细说明。
21 4
|
14天前
|
前端开发 JavaScript API
React、Vue.js 和 Angular前端三大框架对比与选择
前端框架是用于构建用户界面的工具和库,它提供组件化结构、数据绑定、路由管理和状态管理等功能,帮助开发者高效地创建和维护 web 应用的前端部分。常见的前端框架如 React、Vue.js 和 Angular,能够提高开发效率并促进团队协作。
33 4
|
17天前
|
前端开发 JavaScript 开发者
React 和 Vue.js 框架的区别是什么?
React 和 Vue.js 框架的区别是什么?