”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > 如何使用 Dualite 构建登陆页面

如何使用 Dualite 构建登陆页面

发布于2024-09-27
浏览:751

我花了几个小时创建登陆页面的 Figma 设计。每种颜色都恰到好处,每个像素都就位,并且具有无缝的用户流程,但现在是实际编码此着陆页的令人畏惧的部分。

构建 Figma 设计是一项艰巨的任务。这就是我了解 Dualite 的地方,它使用 AI 将 Figma 设计转化为实际代码,帮助像我这样的开发人员最大限度地减少实际编码的工作量。让我们看看我如何使用 Dualite 将我的登陆页面转换为实际代码
 

什么是双石?

Dualite 是一款创新的人工智能 Figma 插件,旨在弥合设计和开发之间的差距。它专注于将 Figma 设计转换为高质量、可重用的代码,并支持 Reactjs、TailwindCSS 等流行技术。

Dualite 让您只需单击一下即可将任何 Figma 设计或动画转换为高效的代码,您可以根据您的项目进行自定义,它具有令人兴奋的功能,让我对它们进行总结:

  • 模式:Dualite 提供两种模式:组件模式和页面模式,非常适合开发人员和设计人员将其设计转换为生成的代码。这些模式可确保布局、交互性、动画等从设计准确地转换为代码。
    • 组件模式:专注于单独的设计元素,允许创建可重用的组件。
    • 页面模式:转换整个页面,保持整体布局和结构。
    • 在此博客上了解有关模式的更多信息
  • 高级功能
    • Dualite 提供高级设置,用户可以在其中提供有关其设计的更多技术信息。这可确保生成的代码响应灵敏且准确。
    • 这些高级设置为设计人员和开发人员提供了更多功能,使他们能够自定义输出以满足特定的项目要求。此功能对于需要精确控制最终代码的复杂设计特别有用,例如响应式布局或复杂的动画。 要快速开始使用 Dualite,您可以关注他们的文档

Figma设计

让我们开始登陆页面的figma设计,如下:
How to Build A Landing Page with Dualite

因此,Dualite 有一个模式功能,您可以在页面模式和组件模式之间切换

基本上,页面模式用于一次性转换完整的设计,组件模式是创建单独的组件,我们可以将其集成到我们的项目中,在文档中了解有关组件的更多信息

我们将使用组件模式为设计中存在的所有组件生成代码,然后将它们集成到一个项目中

我们首先将登陆页面划分为组件,如下所示:
How to Build A Landing Page with Dualite

初始项目设置

我将在 Dualite 中使用 Reactjs 和 Tailwind 来生成代码,所以让我们先设置项目:

  • Reactjs App:使用 Vite 或任何其他工具创建 React 应用程序。 Vite 是创建 Javascript 应用程序的流行选择
  • Setup Tailwind:按照 Tailwind Docs 在 Reactjs 应用程序中设置 tailwind,不会出现任何不必要的错误。确保添加依赖项,例如 PostCSS 和 autoprefixer,以实现顺利的 Tailwind 设置。
  • 配置文件:在项目根目录下创建tailwind.config.js和postcss.config.css。如果您按照 Tailwind 文档中的所有步骤进行操作,则可能会出现 tailwind.config.js。如果它已经存在,则相应地更新它
  • 使用 Javascript:到目前为止,Dualite 不支持 Typescript,因此,请确保仅使用 Javascript 创建 Reactjs 应用程序

开始在 Dualite 中转换组件

初始设置:

  • 模式:我们将使用组件模式。使用右上角的切换按钮在页面模式和组件模式之间切换
  • 框架:当您选择要转换为代码的设计时,您将看到多种语言和框架选项。我将使用 Reactjs 和 Tailwind 生成代码。
  • 要快速开始使用 Dualite,请阅读此内容

现在,让我们开始将设计转换为组件:

  1. 公告栏组件:在此处检查生成的代码
     

  2. 导航栏组件:在此处检查生成的代码
     

  3. 类别过滤组件:在此处检查生成的代码
     

  4. Card Component 组件:在这里检查生成的代码
     

  5. 分页组件:在此处检查生成的代码
     

  6. 页脚组件:在此处检查生成的代码
     

定制

  1. 复制组件:
    • 现在,从上面生成的所有代码中复制 Components 文件夹并将其粘贴到项目的组件文件夹中
    • 您可能已经注意到,所有组件的名称都只是“Component”,所以让我们相应地命名所有组件。示例:公告栏组件将命名为“AnnouncementBar”。在这里检查我是如何做到的
  2. 渲染所有组件:
    • 现在,根据App.jsx文件中的设计导入所有组件
    • 运行项目,您将看到输出,请在此处检查 App.jsx 文件
    • 您可能已经注意到,一些组件需要修复。让我们从定制开始
  3. 修复组件样式:
    • 字体
      • 正如您在设计中看到的,我们有自己的字体。将它们添加到资产文件夹中,以便我可以在项目中的任何位置使用该字体。
      • 还需要为我们在存在 Tailwind 指令的 index.css 文件中使用的所有字体创建 @font-face
    • 导航栏组件
      • 布局不准确,样式需要修复
    • 卡片组件
      • 星形图标:在图形文件夹内添加星形图标
      • Text.js:更新了 Text.js 文件以修复组件的按钮标签和其他文本
      • 样式:更新样式以将字体粗细添加到特定文本元素和按钮标签
    • 卡组件逻辑
      • Card 组件仅呈现单个组件,因为它只是单个组件。
      • 要渲染多个卡组件,我必须添加一些演示数据来映射它并渲染多个卡

注意:所有更改和代码都可以在 CodeSandBox 上看到

输出

一旦我在项目中进行了所有这些自定义和更改,我就可以看到更好的设计版本,请在此处检查代码和输出

Dualite 有帮助吗?

让我们正确地理解它,我们使用 Dualite 生成的所有组件都可以使用,是的,我们对代码进行了一些自定义,使其与设计看起来一样接近,尽管如此,组件的所有样式,所有组件的层次结构以及单独文件中的数据由 Dualite 生成。

我可以使用 Dualite 来构建 UI,而不是花费太多时间。

与手动编码相比,这需要足够长的时间。所有组件的输出都非常好,没有什么可以 100% 正确,每个代码都需要开发人员进行最后修改,这就是我们在这里所做的

是的,Dualite 在为我的组件生成代码方面非常有帮助且快速。

结论

现在您已经有了,这是一种生成 Figma 设计代码的有效方法,并且手动编码非常少。实际编码设计的过程就像坐过山车一样,如果您使用 Dualite 并根据您的需求和项目自定义代码,这可能会不那么复杂。

版本声明 本文转载于:https://dev.to/dualite/how-to-build-a-landing-page-with-dualite-24dd?1如有侵犯,请联系[email protected]删除
最新教程 更多>
  • 那么 Pull 请求如何再次发挥作用呢?屏显#3
    那么 Pull 请求如何再次发挥作用呢?屏显#3
    在我之前的文章中,我谈到了启动一个基于开源 GenAI 的终端应用程序。本周的任务是为另一个用户的项目贡献一个新功能。由于我们必须与新人合作,所以我与 Lily 合作,她开发了一款应用程序,其代码改进功能与我的类似,只是她的角色是老鼠! 有时间的话可以去看看她的项目老鼠助手。 她的代码是用 Type...
    编程 发布于2024-11-07
  • 为什么 Go 中不能直接将 []string 转换为 []interface{}?
    为什么 Go 中不能直接将 []string 转换为 []interface{}?
    为什么将 []string 转换为 []interface{} 会在 Go 中引发编译错误转换字符串切片 ([]string)考虑到它们共享切片特征以及 []string 的每个元素都可以被视为一个接口,Go 中的接口切片 ([]interface{}) 似乎很简单。然而,尝试这种转换时会出现编译错...
    编程 发布于2024-11-07
  • 理解 Shadow DOM:封装 Web 组件的关键
    理解 Shadow DOM:封装 Web 组件的关键
    在现代 Web 开发中,创建可重用和可维护的组件至关重要。 Shadow DOM 是 Web 组件标准的一部分,在实现这一目标方面发挥着至关重要的作用。本文深入探讨了 Shadow DOM 的概念、它的优点以及如何在您的项目中有效地使用它。 什么是 Shadow DOM? Shado...
    编程 发布于2024-11-07
  • 如何使用 Java 运行时解决输出重定向问题?
    如何使用 Java 运行时解决输出重定向问题?
    使用 Runtime 的 exec() 方法解决输出重定向问题在 Java 中,利用 Runtime.getRuntime().exec() 运行命令可以捕获进程的输出和错误流。但是,在需要输出重定向的情况下,单独使用此方法可能无效。问题:输出未重定向当使用 Runtime.getRuntime()...
    编程 发布于2024-11-07
  • 如何使用 CSS 悬停效果从左到右填充背景颜色?
    如何使用 CSS 悬停效果从左到右填充背景颜色?
    使用 CSS 从左到右填充背景颜色在 CSS 中,您可以通过利用线性渐变和动画背景定位来创建迷人的悬停效果。这种方法使您能够在悬停时从左到右用新颜色填充元素的背景。线性渐变和背景大小关键是使用由两种颜色组成的线性渐变背景,并将背景大小设置为元素宽度的两倍。这允许您在两种颜色之间创建无缝过渡。背景定位...
    编程 发布于2024-11-07
  • GraalVM 本机映像中的内存管理
    GraalVM 本机映像中的内存管理
    内存管理是计算机软件开发的重要组成部分,负责应用程序中内存的有效分配、利用和释放。其重要性在于增强软件性能,保证系统稳定性。 垃圾收集 垃圾收集 (GC) 在 Java 和 Go 等当代编程语言中至关重要。它自动检测并回收未使用的内存,从而减轻开发人员手动管理内存的需要。 GC 的概...
    编程 发布于2024-11-07
  • ## 在 C++ 中什么时候应该使用引用作为函数参数?
    ## 在 C++ 中什么时候应该使用引用作为函数参数?
    在 C 中传递参数:理解引用在 C 中,函数参数的行为由其类型决定。一个重要的区别是“按值传递”和“按引用传递”。为什么在函数参数中使用引用?引用在函数参数中用于两种情况主要原因:修改参数: 引用允许函数修改传递的参数的值。这意味着该函数可以进行调用者可见的更改。避免对象复制: 通过引用传递大对象可...
    编程 发布于2024-11-07
  • 如何在单个命令行中运行多行命令?
    如何在单个命令行中运行多行命令?
    如何在一行命令行中执行多行语句使用Python的-c选项执行单行循环时,在循环之前导入模块会导致语法错误。这是因为Python解释器将代码块视为单个语句。要解决此问题,可以采用以下几种方法:使用管道要克服语法错误,请使用 echo 命令将代码块作为一系列输入行重定向到 Python:echo -e ...
    编程 发布于2024-11-07
  • 如何在 PHP 中从 MySQL 迁移到 MySQLi?
    如何在 PHP 中从 MySQL 迁移到 MySQLi?
    从 MySQL 迁移到 MySQLi将网站从 MySQL 迁移到 MySQLi 需要修改 PHP 代码,但数据库本身基本上不受影响。 MySQLi 是 MySQL 扩展的改进版本,提供增强的功能和安全性。PHP 代码更改是的,您可以简单地将 MySQLi 函数替换为 MySQL 函数。这里有一个快速...
    编程 发布于2024-11-07
  • 如何在CSS中实现背景和子元素的不同透明度?
    如何在CSS中实现背景和子元素的不同透明度?
    理解 CSS 背景不透明度在 CSS 中,不透明度控制元素的透明度。当应用于容器时,它自然会影响背景及其子元素。继承问题要实现背景和子元素不同的不透明度, CSS 继承带来了挑战。子元素从其父容器继承不透明度,从而导致所提供示例中的背景和文本具有相同的不透明度。实现所需不透明度的解决方案实现要达到所...
    编程 发布于2024-11-07
  • 【个人网站】Next如何集成Notion数据库
    【个人网站】Next如何集成Notion数据库
    To integrate a Notion database into a Next.js project, you can use Notion as a content management system (CMS) and display its content on your website...
    编程 发布于2024-11-07
  • 为什么 PhpMyAdmin 在 Ubuntu 12.04 上给出“MySQLi 扩展缺失”错误?
    为什么 PhpMyAdmin 在 Ubuntu 12.04 上给出“MySQLi 扩展缺失”错误?
    PhpMyAdmin 错误:MySQLi 扩展缺失在 Ubuntu 12.04 上遇到 PhpMyAdmin 问题?尽管安装了 Apache2、PHP5、MySQL 和 PhpMyAdmin,您还是遇到了“mysqli 扩展丢失”错误。尽管您已取消注释 php.ini 中的“extension=my...
    编程 发布于2024-11-07
  • 如何使用 java.net.URLConnection 将文件和附加参数上传到 HTTP 服务器?
    如何使用 java.net.URLConnection 将文件和附加参数上传到 HTTP 服务器?
    在 Java 中使用附加参数将文件上传到 HTTP 服务器将文件上传到 HTTP 服务器是许多应用程序的常见需求。但是,有时还需要随文件一起传递附加参数。这是一个允许您在不使用外部库的情况下发送文件和参数的解决方案:java.net.URLConnection 和 Multipart/Form-Da...
    编程 发布于2024-11-07
  • 如何在 PHP 中逐行读取和处理文本文件?
    如何在 PHP 中逐行读取和处理文本文件?
    在 PHP 中读取文本文件:分步指南许多 Web 开发场景都涉及从文本文件读取数据。在 PHP 中,文件处理函数提供了逐行读取纯文本文件的便捷方法。让我们分解一下使用 PHP 读取文本文件的过程。读取文本文件的代码:以下 PHP 代码片段演示了如何读取文本文件并逐行处理其内容:<?php //...
    编程 发布于2024-11-07
  • 我离不开的生产力工具(奖励)
    我离不开的生产力工具(奖励)
    大家好,你们的孩子 Nomadev 带着另一篇帖子回来了!今天,我很高兴与大家分享一些我每天使用的超级酷的人工智能工具。这些工具已成为我日常工作的重要组成部分,帮助我保持井井有条、高效并完成更多工作。 在当今快节奏的世界中,我们都希望提高生产力和效率。借助人工智能,有大量工具可以帮助我们管理任务、简...
    编程 发布于2024-11-07

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3