无限制地构建用它就够了!超灵活的WEB应用程序框架

fine 是一个基于 React 的框架,用于快速网络应用程序的开发。它消除了 CRUD 操作所需的重复任务,并为身份验证、访问控制、路由、网络、状态管理和 i18n 等关键部分提供行业标准解决方案。无限制地构建用它就够了!超灵活的WEB应用程序框架

主要特征

  • 使用单个 CLI 命令进行零配置、一分钟设置
  • 用于 15 多种后端服务的连接器,包括 REST API、GraphQL、NestJs CRUD、Airtable、Strapi、Strapi v4、Strapi GraphQL、Supabase、Hasura、Nhost、Appwrite、Firebase、Directus 和 Altogic
  • Next.js 或 Remix 支持 SSR
  • 使用 React Query 完善状态管理和突变
  • 使用选择的任何路由器库的高级路由
  • 身份验证和访问控制流程的提供商
  • 对实时/实时应用程序的开箱即用支持
  • 轻松的审核日志和文档版本控制
  • 面向未来的稳健架构
  • 完整的测试覆盖

快速入门指南

开始细化的最快方法是使用 create refine-app 项目启动工具或使用细化.new 浏览器工具。

使用 refine.new 浏览器工具

Fine.new 可通过直接在浏览器中进行逐步选择来创建新的优化应用程序。

可以选择要使用的库和框架,该工具将生成可下载的样板代码。

使用 create refine-app

npx superplate-cli --preset refine-antd my-project

设置完成后,导航到项目文件夹并使用以下命令启动项目:

npm run dev

可以通过http://localhost:3000访问优化应用程序:无限制地构建用它就够了!超灵活的WEB应用程序框架使用 publicfake REST API 并为项目添加两个资源(blog_posts、categories)。将 的内容替换 src/App.tsx 为以下代码:

import { Refine } from "@refinedev/core";
import {
    notificationProvider,
    ErrorComponent,
    ThemedLayout,
} from "@refinedev/antd";
import routerProvider, { NavigateToResource } from "@refinedev/react-router-v6";
import dataProvider from "@refinedev/simple-rest";

import { BrowserRouter, Routes, Route, Outlet } from "react-router-dom";

import { AntdInferencer } from "@refinedev/inferencer/antd";

import "@refinedev/antd/dist/reset.css";

const App: React.FC = () => {
    return (
        <BrowserRouter>
            <Refine
                routerProvider={routerProvider}
                dataProvider={dataProvider("https://api.fake-rest.refine.dev")}
                notificationProvider={notificationProvider}
                resources={[
                    {
                        name: "blog_posts",
                        list: "/blog-posts",
                        show: "/blog-posts/show/:id",
                        create: "/blog-posts/create",
                        edit: "/blog-posts/edit/:id",
                        meta: { canDelete: true },
                    },
                    {
                        name: "categories",
                        list: "/categories",
                        show: "/categories/show/:id",
                    },
                ]}
            >
                <Routes>
                    <Route
                        element={
                            <ThemedLayout>
                                <Outlet />
                            </ThemedLayout>
                        }
                    >
                        <Route index element={<NavigateToResource />} />
                        <Route path="blog-posts">
                            <Route index element={<AntdInferencer />} />
                            <Route
                                path="show/:id"
                                element={<AntdInferencer />}
                            />
                            <Route path="create" element={<AntdInferencer />} />
                            <Route
                                path="edit/:id"
                                element={<AntdInferencer />}
                            />
                        </Route>
                        <Route path="categories">
                            <Route index element={<AntdInferencer />} />
                            <Route
                                path="show/:id"
                                element={<AntdInferencer />}
                            />
                        </Route>
                        <Route path="*" element={<ErrorComponent />} />
                    </Route>
                </Routes>
            </Refine>
        </BrowserRouter>
    );
};

export default App;

这得益于 Fine Inferencer 包,它可以根据从 API 获取的数据猜测用于 list、show、create 和 edit 页面的配置,并自动生成页面。

blog_posts 现在应该看到输出为填充有&数据的表格 category:无限制地构建用它就够了!超灵活的WEB应用程序框架

基础示例

第一个使用 Material UI 的应用

首先,使用以下命令运行 superplate :

npx superplate-cli -o refine-mui tutorial

数据提供者是精炼的组件,可以方便地使用不同的 API 和数据服务。要使用 Fake REST API,先使用“Simple REST Dataprovider”。

接下来,导航到项目文件夹并运行以下命令来安装所需的包:

npm i @pankod/refine-simple-rest

将内容替换为 App.tsx 以下代码:

import { Refine } from "@pankod/refine-core";
import {
    Layout,
    ErrorComponent,
    ReadyPage,
    LightTheme,
    CssBaseline,
    ThemeProvider,
    GlobalStyles,
    RefineSnackbarProvider,
    notificationProvider,
} from "@pankod/refine-mui";
import routerProvider from "@pankod/refine-react-router-v6";
import dataProvider from "@pankod/refine-simple-rest";

const App: React.FC = () => {
    return (
        <ThemeProvider theme={LightTheme}>
            <CssBaseline />
            <GlobalStyles styles={{ html: { WebkitFontSmoothing: "auto" } }} />
            <RefineSnackbarProvider>
                <Refine
                    routerProvider={routerProvider}
                    dataProvider={dataProvider(
                        "https://api.fake-rest.refine.dev",
                    )}
                    notificationProvider={notificationProvider}
                    Layout={Layout}
                    ReadyPage={ReadyPage}
                    catchAll={<ErrorComponent />}
                />
            </RefineSnackbarProvider>
        </ThemeProvider>
    );
};

export default App;

运行以下命令以在开发模式下启动应用程序:

npm run dev

示例

无限制地构建用它就够了!超灵活的WEB应用程序框架无限制地构建用它就够了!超灵活的WEB应用程序框架无限制地构建用它就够了!超灵活的WEB应用程序框架无限制地构建用它就够了!超灵活的WEB应用程序框架

传送门

开源协议:MIT license

开源地址:https://github.com/refinedev/refine

项目合集:https://github.com/OpenTechCol/OpenTechCol

-END-


原文始发于微信公众号(开源技术专栏):无限制地构建用它就够了!超灵活的WEB应用程序框架

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/155103.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!