1. 首页 > 快讯

一个利用LLM生成前端页面的开源效率工具



三大主流前端

特性 React Vue.js Angular
开发者 Facebook 尤雨溪 Google
初始发布年份 2013 2014 2010 (AngularJS), 2016 (Angular 2+)
核心理念 视图层,单向数据流 渐进式框架,响应式数据绑定 全面框架,模块化设计
使用语言 JavaScript,JSX JavaScript,HTML 模板 TypeScript
数据绑定 单向数据流 双向数据绑定(可选) 双向数据绑定
路由管理 通过第三方库(如 React Router) 内置 vue-router 内置 Angular Router
状态管理 通过第三方库(如 Redux, MobX) Vuex 内置服务和 RxJS
性能优化 虚拟 DOM 虚拟 DOM 变更检测机制
学习曲线 中等
社区和生态系统 大型,丰富的第三方库和工具 中型,快速增长的生态系统 大型,内置功能丰富
文档和教程 官方文档详细,社区教程丰富 官方文档详细,社区教程丰富 官方文档详细,社区教程丰富
使用场景 单页应用、移动应用、复杂的前端项目 单页应用、移动应用、渐进式增强的项目 企业级应用、大型复杂项目

基于以上的增强框架有以下:

特性 Next.js Nuxt.js Angular Universal
基于的框架 React Vue.js Angular
初始发布年份 2016 2016 2016 (Angular Universal)
服务端渲染 (SSR)
静态网站生成 (SSG) 否(主要是 SSR)
文件路由 否(需要手动配置路由)
数据获取 支持静态和动态的数据获取 支持静态和动态的数据获取 支持静态和动态的数据获取
API 路由
性能优化 自动代码分割、图像优化 自动代码分割、SEO 优化 依赖于 Angular 的变更检测和优化机制
开发者体验 易于上手,丰富的插件和社区支持 易于上手,集成度高 学习曲线高,适用于熟悉 Angular 的开发者
社区和生态系统 大型,丰富的第三方库和工具 中型,快速增长的生态系统 大型,内置功能丰富
文档和教程 官方文档详细,社区教程丰富 官方文档详细,社区教程丰富 官方文档详细,社区教程丰富
使用场景 企业级应用、博客、营销网站 企业级应用、博客、营销网站 企业级应用、大型复杂项目

一个AI生成前端页面的神器

这是使用 大预语言模型LLM 生成 前端工具。

项目地址:https://github.com/bravekingzhang/gpt-frontend-code-gen

先看效果

1、一句话生成一个前端页面

2、持续迭代,再提要求,修改下为 iOS 风格。

3、继续提示指令,修改布局。

功能

  • • 使用 GPT-4 或Kimi 生成 React 组件。

  • • 支持 Chakra UI 组件\ShadcnUI 组件生成。

  • • 实时预览生成的组件。

  • • 通过持续对话修改和更新组件。

  • • 配置自己的 APIKey 和 BaseUrl,支持多种大模型。

  • • 使用 Docker 和 Docker Compose 一键设置和启动。

技术栈

  • • 前端:React, Chakra UI, vite

  • • 后端:Koa

核心代码

router.post("/generate-code", async (ctx)=>{
const{ useShadcnUI, prompt, apiKey, baseUrl, model }= ctx.request.body;

const uiMode = useShadcnUI ?"React & Shadcn UI":"React & Chakra UI";
const uiExample = useShadcnUI
? previewPageContentShadcnUI
: previewPageContent;

try{
const currentCode = readCode();

const detailedPrompt =`
Blow is the existing code,I wrapped it in a code block for better readability:
\`\`\`jsx
${currentCode}
\`\`\`

Please make the following changes:
${prompt}

Return the complete and functional implementation code without any additional explanations and any markdown code block markers.
`;

const messages =[
{
role:"system",
content:`You are a professional front-end developer. Only provide the complete and functional implementation code without any additional explanations and any markdown code block markers, whether modifying existing code or writing from scratch.
always use ${uiMode} for the implementation. Here is a example :
\`\`\`jsx
${uiExample}
\`\`\
`,
},
{ role:"user", content: detailedPrompt },
];

const requestData ={
messages,
model,
max_tokens:4096,
};

const response = await axios.post(
`${baseUrl}/v1/chat/completions`,
requestData,
{
headers:{
Authorization:`Bearer ${apiKey}`,
},
}
);

const updatedCode = response.data.choices[0].message.content
.replace(/```jsx|```/g,"")
.trim();
writeCode(updatedCode);
autoCommit(`feat:${prompt}`);

ctx.body ={
success:true,
code: updatedCode,
};
}catch(error){
ctx.body ={
success:false,
error: error.message,
};
}
});

这里定义一个 POST 路由/generate-code,用于生成代码。

从请求体中获取useShadcnUI、prompt、apiKey、baseUrl和model。

根据useShadcnUI选择不同的 UI 模式和示例代码。

读取当前代码并构建详细的提示detailedPrompt。

构建请求数据requestData并发送请求给 OpenAI 的 GPT 模型。

获取返回的代码,去掉 Markdown 代码块标记,更新代码文件并自动提交变更。

返回生成的代码或错误信息。

本文采摘于网络,不代表本站立场,转载联系作者并注明出处:https://www.iotsj.com//kuaixun/3319.html

联系我们

在线咨询:点击这里给我发消息

微信号:666666