我们可以开始讨论 SolidJS
,说它比React
更好,但没有必要做这种比较。SolidJS
只是众多前端框架之一,旨在在Web
上快速创建数据驱动。那么,我们为什么要突出这个新孩子呢?
首先,我们不能忽视SolidJS
不使用虚拟DOM。是的,你没听错!SolidJS
不使用虚拟 DOM,而是从应用程序第一次运行开始就记住整个 DOM,然后在有更新时,它会继续更新该部分。此功能使框架非常快速和高性能。
在本文中,我们将介绍如何构建一个简单的 CRUD
应用程序来演示 SolidJS
的有效性。
构建 SolidJS 前端
为了构建我们的 Solid 应用程序,我们将使用 Solid JD App
库[https://github.com/OrJDev/create-jd-app]。我们将设置项目,然后创建并渲染 SolidJS
组件。
安装Solid JD 应用程序库
要开始使用,请在终端上运行以下命令:
npm create jd-app@latest
系统将提示你键入 y(表示是)以继续,然后系统会要求你提供应用的名称。接下来,系统会询问您是否将使用 Vercel 来部署项目。这是一个偏好问题。您决定在哪里部署或托管项目完全取决于您;您甚至可以选择“无”作为选项。
我们使用的库还附带了额外的可选附加组件(AuthJS
,Prisma
,tRPC
,pRPC
,TailwindCSS
,AuthJS
和Upstash Ratelimit
)。您可以决定选择所需的内容或忽略它们。在本教程中,我们将通过仪表板部署到 Vercel,我们不会使用任何可选的附加组件:
做出选择后,单击 Enter。这将立即安装您需要的所有内容,包括包含 SolidJS 依赖的其他软件包的 node_modules 文件夹,以及您在安装过程中选择的任何软件包。
设置项目
在本教程中,我们将构建一个简单的博客应用。移动到托管应用程序的根目录,然后运行以下命令:
npm run dev
这将在端口 3000 上启动应用程序;http://localhost:3000,您将在这里看到它。
您的代码库将如下所示;注意 TypeScript 的使用:
以下是您将在浏览器中看到的内容:
接下来,清除 src/route/index.tsx
文件中的现有代码并粘贴以下内容:
import "../assets/css/style.css";
import { type VoidComponent } from "solid-js";
import { A } from "solid-start";
import Blog from '../components/Blog'
const Home: VoidComponent = () => {
return (
<main>
<div class="container">
<div class="row g-4">
<div class="col-lg-8">
<div class="bg-mode p-4">
<h1 class="h4 mb-4">Latest blogs</h1>
</div>
</div>
</div>
</div>
</main>
);
};
export default Home;
创建 SolidJS 组件
组件是前端框架最好的东西之一,尽管组件的概念并不新鲜。组件只是一组一个或多个 HTML 元素,但它们使我们更容易动态管理和复用元素。
请在 src
名为 components
的目录下开始制作组件;我们将在此处放置任何可重用的元素和文件。在 components
文件夹中,创建一个名为 Blog.jsx
并粘贴以下代码的文件:
import solidimage from '../assets/images/solid.jpg'
function Blog() {
return