在官网看到社区模板好奇点进去,发现还是不太明白前端工程化
所以这些模板都在用什么技术,一一解释一下
- Vitamin - React TypeScript, TailwindCSS, SPA + PWA, Cypress and CI.
- TailwindCSS: TailwindCSS 是一个实用优先的 CSS 框架,它提供了一系列预定义的样式类,可以通过组合这些类来快速构建页面样式,简化了样式开发的过程。
- SPA + PWA: 这个项目模板是一个单页面应用程序(SPA),意味着整个应用只有一个 HTML 页面,并使用 JavaScript 动态地加载内容,提供更快的用户体验。同时,它还支持渐进式 Web 应用程序(PWA)功能,允许将 Web 应用程序以类似于原生应用程序的方式进行缓存和离线访问。
- Cypress: Cypress 是一个前端端到端测试框架,用于编写和运行端到端测试,用于模拟用户与应用程序进行交互,以确保应用程序在不同场景下的正常运行。
- CI (Continuous Integration) : 连续集成是一种软件开发实践,它涉及多次将代码集成到主线分支,并自动运行测试和构建过程,以确保代码质量。在这个项目模板中,可能已经配置了 CI 工具,如 GitHub Actions 或者 GitLab CI,以实现自动化的持续集成。
- vite-reactts-eslint-prettier - React, TypeScript, ESlint, Prettier, Pre-commit.
- ESlint: ESlint 是一个用于静态代码分析的工具,它帮助开发者检测并修复代码中的潜在问题,保持代码风格一致性,并遵循规范和最佳实践。
- Prettier: Prettier 是一个代码格式化工具,它可以自动格式化代码,使代码风格保持一致,提高代码的可读性。
- Pre-commit 钩子: Pre-commit 钩子是在代码提交前自动运行的脚本,用于执行代码检查、格式化等任务,以确保提交的代码质量。
- react-vite-admin - React, Recoil, React Query, React Hooks, TypeScript, Axios
- Recoil: Recoil 是 Facebook 开发的状态管理库,用于更轻松地管理 React 应用程序的状态。它提供原子状态和选择器,以及其他工具,用于有效地处理组件之间的状态共享和数据派生。
- React Query: React Query 是一个用于数据获取和缓存的库。在后台管理系统中,它可以方便地管理异步数据请求,并提供数据缓存和自动数据更新的功能,以确保数据的及时性。
- vitejs-template-react-rescript - React + ReScript.
- ReScript: ReScript(前身为 BuckleScript)是一种将 ReScript 代码编译成高效、可预测的 JavaScript 的语言。它提供了一种现代化、类型安全且易于理解的语法,可以帮助开发者更轻松地编写高质量的前端代码。
- reactjs-vite-tailwindcss-boilerplate - React 18, TypeScript, Vitest, Testing Library, TailwindCSS 3, Eslint and Prettier.
- Vitest: Vitest 是一个用于运行测试的工具,它支持在 Vite.js 环境中运行测试,并提供了一些有用的测试工具和断言库。
- Testing Library: Testing Library 是一个用于编写测试的工具库,它提供了一套简单的 API,用于编写可读性高、健壮性强的测试。
- TailwindCSS 3: TailwindCSS 是一个实用优先的 CSS 框架,它提供了一系列预定义的样式类,可以通过组合这些类来快速构建页面样式,简化了样式开发的过程。在这个项目模板中,使用了最新的 TailwindCSS 3 版本。
- Tropical - React, Storybook, MDX, Fela, SSR prerendering, and islands architecture.
- Storybook: Storybook 是一个用于开发、测试和展示 React 组件的工具。它提供了一个独立的环境,用于快速查看和交互式开发组件,便于组件的调试和演示。
- MDX: MDX 是一种将 Markdown 与 JSX 结合的语法,允许在 Markdown 文件中嵌入 JSX 组件。在 Tropical 项目中,MDX 可能用于编写可交互的文档和演示,让文档更加生动和具有交互性。
- Fela: Fela 是一个 CSS-in-JS 库,它允许将 CSS 代码编写为 JavaScript 对象。这样可以更好地组织和管理组件的样式,并在运行时将样式动态注入到页面中。
- SSR prerendering: SSR(服务器端渲染)预渲染是一种技术,它在服务器上预先渲染页面的部分或全部内容,然后将其发送到客户端,以提供更快的首次加载速度和更好的 SEO(搜索引擎优化)效果。
- Islands architecture: "Islands" 架构是一种前端架构模式,它将前端应用程序拆分为多个自治的 "islands",每个 "island" 是一个独立的子应用程序,可以独立开发、测试和部署。这种架构模式有助于提高应用程序的可维护性和可扩展性。
"Tropical" 是一个综合了 React、Storybook、MDX、Fela、SSR 预渲染和 Islands 架构等工具和技术的项目。它提供了现代化的开发基础,使得开发者可以更高效地构建 Web 应用程序,并通过 SSR 预渲染提供更好的用户体验和 SEO 效果。同时,使用 Storybook 和 MDX 可以方便地开发和展示 React 组件,而 Fela 则有助于更好地管理组件的样式。最后,Islands 架构可以使得项目更易于维护和扩展。
- vite-plugin-react-refresh - Provide enhancements for @vitejs/plugin-react-refresh.
@vitejs/plugin-react-refresh是 Vite 官方提供的一个插件,用于在开发过程中提供 React 组件的热模块替换(Hot Module Replacement,HMR)功能。HMR 允许在不刷新整个页面的情况下,仅重新加载发生更改的组件,从而加快开发过程的反馈速度。 而vite-plugin-react-refresh正是对@vitejs/plugin-react-refresh的增强版本,它提供了一些额外的功能,进一步提高了 React 组件在开发过程中的开发体验。
- vite-reactts18-chakra-jest-husky - React 18, TypeScript, Chakra UI, Jest, ESLint, Prettier, Husky.
- Chakra UI: Chakra UI 是一个现代化的 UI 组件库,它提供了一套丰富的可定制的 UI 组件,可以帮助开发者快速构建漂亮的用户界面。
- Jest: Jest 是一个用于编写测试的 JavaScript 测试框架,它提供了一套简单的 API,用于编写可读性高、健壮性强的测试。
- Husky: Husky 是一个 Git 钩子工具,它允许在 Git 操作前执行预定义的脚本,用于在代码提交前运行测试、代码检查等任务,以保证代码质量。
- Cypress: Cypress 是一个前端端到端测试框架,用于编写和运行端到端测试,用于模拟用户与应用程序进行交互,以确保应用程序在不同场景下的正常运行。
- vite-react-tailwind-template - React 17, TypeScript, Jest, ESLint, Prettier, Husky, Tailwind CSS, PostCSS, pnpm.
- PostCSS: PostCSS 是一个用于转换 CSS 的工具,它可以让你使用新的 CSS 语法和功能,然后将其转换为浏览器可识别的 CSS。
- pnpm: pnpm 是一个快速、瘦身且零安装的 Node 包管理器。它可以加快依赖安装速度,并节省磁盘空间。
- vite-react-ts-tailwind-firebase-starter - Starter using Vite + React + TypeScript + Tailwind CSS (daisyUI) + Firebase (v9) + Prettier + ESLint.
- Firebase (v9) : Firebase 是一个由 Google 提供的后端即服务(Backend-as-a-Service,BaaS)平台,它提供了一系列云服务,如实时数据库、身份认证、存储、托管等,用于构建现代 Web 和移动应用程序。
- vital - React, TypeScript, Tailwind (JIT), CSS-Modules, Jest, Atomic Design, Prettier, Husky, Commit-lint.
- Atomic Design: Atomic Design 是一种前端设计模式,它将 UI 组件划分为原子(Atoms)、分子(Molecules)、有机体(Organisms)、模板(Templates)和页面(Pages)等不同层级,以便更好地组织和构建可复用的组件。
- vite-react-starter - React + ESLint + Prettier + SASS + Emotion + TailwindCSS + Jest + Testing Library.
- Emotion: Emotion 是一个 CSS-in-JS 库,它允许将 CSS 样式写在 JavaScript 中,以组件化的方式来管理样式。
- chrome-extension-boilerplate-react-vite - React + TypeScript + SASS + Prettier + ESLint + GitHub Actions + Chrome Extension Manifest v3.
- GitHub Actions: GitHub Actions 是 GitHub 提供的持续集成和持续部署工具,它可以帮助自动化构建、测试和部署流程,提高开发效率。
- Chrome Extension Manifest v3: Chrome Extension Manifest v3 是 Chrome 扩展的新版清单格式,它引入了一些改进和更严格的权限控制,提高了扩展的安全性和性能。
- vite-ant-design-pro - React + antd + ProComponents + ReactQuery + ReactRouter6.
- ProComponents: ProComponents 是一个由 Ant Design 团队开发的高级组件库,它是 antd 的扩展,提供了更多的高级和复杂的组件,适用于构建企业级的管理系统。
- React-PWA - React v18, TypeScript, Vite, React Router v6, MUI v5, Recoil, PWA, Eslint, Prettier, Husky, lint-staged, https localhost and more.
- MUI v5: MUI v5(Material-UI v5)是一个基于 Material Design 的 React UI 组件库,它提供了一套丰富的 UI 组件,使得构建漂亮的用户界面变得更加简单和高效。
- Recoil: Recoil 是一个由 Facebook 提供的状态管理库,它用于管理应用程序的全局状态,提供了一套简单且灵活的 API,用于处理组件之间的状态共享和更新。
- PWA: PWA(渐进式 Web 应用程序)是一种新型的 Web 应用程序技术,它通过使用现代 Web 平台的功能,如 Service Worker 和 Web App Manifest,使得 Web 应用程序具备类似原生应用的离线访问、推送通知等功能。
- lint-staged: lint-staged 是一个用于在 Git 预提交阶段运行 linters 的工具,它可以在提交前自动运行 Eslint 和 Prettier 等工具进行代码检查和格式化。
- https localhost: "React-PWA" 模板支持在本地开发服务器中启用 HTTPS,以提供更安全和可信的开发环境。
- Viact - React + TypeScript + ESLint + Prettier + Support RTL + mock REST API Viact + Storybook, ErrorBoundary, UnoCss and more.
- Support RTL: RTL(Right-to-Left)支持,是指支持从右向左的文本布局,用于适配某些阿拉伯语和希伯来语等从右向左书写的语言。
- Mock REST API: Mock REST API 是模拟的后端接口服务,用于在开发阶段模拟实际的后端请求和响应,方便前端开发和测试。
- Storybook: Storybook 是一个用于构建组件库和交互式组件展示页面的开发环境,它提供了一套交互式的界面,用于快速开发和测试组件。
- ErrorBoundary: ErrorBoundary 是 React 的错误处理机制,用于捕获组件渲染过程中发生的错误,防止错误影响整个应用程序的渲染。
- UnoCss: UnoCss 是一个 CSS 库,它提供了一些实用的样式和组件,用于快速构建页面样式和布局。
- Viterts - React + TypeScript + Redux + React Router + Jest + ESLint + Airbnb + Prettier + SASS.
- Airbnb: Airbnb 是一个流行的 ESLint 配置,它提供了一套严格的代码规范,用于保持代码风格一致性和可读性。
- ViteRC - React 18 + TypeScript + ESLint (Airbnb) + Prettier + Husky + Jest + Absolute imports + Commit linting.
- Absolute imports: 绝对路径导入,允许你在项目中使用绝对路径引入模块,避免使用相对路径的繁琐和不稳定。
- Commit linting: Commit linting 是用于校验 Git 提交信息的工具,它可以帮助你保持提交信息的一致性和规范性。
- VRTTV - React + TypeScript + TailwindCSS + ESLint + Prettier + Husky + Conventional Commits + Gitmoji + GitHub Actions + Vercel Deploy.
- Conventional Commits: Conventional Commits 是一种代码提交信息的约定规范,它定义了一套标准的提交信息格式,用于提供更具意义和易读的提交历史。
- Gitmoji: Gitmoji 是一种使用 Emoji 表情符号来表示提交类型的约定规范,使得提交信息更加生动有趣,同时提供了可视化的提交历史。
- GitHub Actions: GitHub Actions 是 GitHub 提供的持续集成和持续部署工具,它可以帮助自动化构建、测试和部署流程,提高开发效率。
- Vercel Deploy: Vercel 是一个服务器less 部署平台,它可以帮助你快速将应用程序部署到云端,提供高性能的托管和全球 CDN。
- vite-mern-template - React 18 + TypeScript + Vite + Redux Toolkit + ESLint + React Router DOM + Axios + React Icons + React Toastify + Express + Mongoose.
- React Icons: React Icons 是一个用于引入 SVG 图标的 React 组件库,它提供了一套常用的图标组件,使得在应用程序中使用图标更加简单和方便。
- React Toastify: React Toastify 是一个用于显示通知消息的 React 组件库,它提供了一套自定义的弹出通知组件,用于向用户展示提示、警告和成功等消息。
- Express: Express 是一个基于 Node.js 的 Web 框架,用于构建后端服务器和 RESTful API。
- Mongoose: Mongoose 是一个用于操作 MongoDB 数据库的 Node.js ODM(Object Data Modeling)库,它提供了一套便捷的 API,用于定义数据模型和执行数据库操作。
- react-xs-admin - The background management system template developed based on React18 + ReactRouteV6 + Vite + And Design + ReactIntl + ReactRedux + Emulation.
- React Intl: React Intl 是一个用于国际化和本地化的 React 库,它提供了一套用于处理多语言和地区化的组件和API。
- React Redux: React Redux 是一个用于状态管理的 React 绑定库,它与 Redux 配合使用,帮助管理复杂的应用程序状态。
- Emotion: Emotion 是一个用于处理样式的 JavaScript 库,它提供了一套用于写 CSS-in-JS 样式的 API,使得样式表编写更加灵活和易于维护。
- vite-mui-ts - React + TypeScript + Redux + Material UI + RRD + ESLint + Prettier.
- Material UI: Material UI 是一个流行的 React UI 组件库,它实现了谷歌的 Material Design 规范,提供了一套美观、现代化的UI组件,用于构建漂亮的用户界面。
- RRD (React Router DOM) : React Router DOM 是 React 官方提供的用于页面导航的库,它支持声明式的路由配置和导航控制,用于构建单页应用程序(SPA