快速入门

LGOS Studio 快速入门指南

了解如何在几分钟内启动并运行您的第一个 LGOS Studio 应用程序

LGOS Studio 核心团队
更新于: 2023年10月15日
版本: v3.2.0
阅读时间: 15分钟

概述

欢迎使用 LGOS Studio 框架!本指南将帮助您快速开始使用 LGOS Studio 构建现代化、高性能的应用程序。LGOS Studio 是一个轻量级、模块化的前端框架,专注于提供无边界的设计体验和卓越的性能。

系统要求

在开始之前,请确保您的开发环境满足以下要求:

  • Node.js v16.0 或更高版本
  • npm v8.0 或更高版本
  • 现代浏览器(Chrome 88+, Firefox 85+, Safari 14+)

安装 LGOS Studio

使用 CLI 创建新项目

最简单的方式是使用 LGOS Studio CLI 创建新项目:

bash
npx create-LGOS Studio-app my-app cd my-app npm install npm run dev

手动安装

如果您希望手动集成 LGOS Studio 到现有项目中:

bash
npm install @LGOS Studio/core @LGOS Studio/react

创建您的第一个组件

函数式组件

javascript
// src/components/Welcome.jsx import { useState } from '@LGOS Studio/react'; export default function Welcome() { const [count, setCount] = useState(0); return ( <div className="welcome-container"> <h1>欢迎使用 LGOS Studio!</h1> <p>您已点击按钮 {count} 次</p> <button className="primary-btn" onClick={() => setCount(count + 1)} > 点击我 </button> </div> ); }

样式模块

css
/* src/components/Welcome.module.css */ .welcome-container { max-width: 600px; margin: 2rem auto; padding: 2rem; border-radius: 12px; background: rgba(255, 255, 255, 0.05); backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, 0.1); text-align: center; } .primary-btn { background: linear-gradient(45deg, #4361ee, #38b6ff); color: white; border: none; padding: 0.8rem 1.5rem; border-radius: 8px; font-size: 1rem; cursor: pointer; transition: all 0.3s ease; } .primary-btn:hover { transform: translateY(-2px); box-shadow: 0 5px 15px rgba(67, 97, 238, 0.3); }

路由配置

LGOS Studio 提供了简单的路由解决方案:

javascript
// src/App.jsx import { Router, Route } from '@LGOS Studio/react-router'; import Home from './pages/Home'; import About from './pages/About'; import Contact from './pages/Contact'; export default function App() { return ( <Router> <Route path="/" component={Home} exact /> <Route path="/about" component={About} /> <Route path="/contact" component={Contact} /> </Router> ); }

状态管理

LGOS Studio 提供了轻量级的状态管理解决方案:

javascript
// src/store/userStore.js import { createStore } from '@LGOS Studio/core'; const userStore = createStore({ state: { name: '访客', isLoggedIn: false }, actions: { login(state, name) { state.name = name; state.isLoggedIn = true; }, logout(state) { state.name = '访客'; state.isLoggedIn = false; } } }); export default userStore;

在组件中使用:

javascript
import { useStore } from '@LGOS Studio/react'; import userStore from './store/userStore'; function UserProfile() { const [user, actions] = useStore(userStore); return ( <div> {user.isLoggedIn ? ( <div> <p>欢迎, {user.name}!</p> <button onClick={actions.logout}>登出</button> </div> ) : ( <button onClick={() => actions.login('新用户')}>登录</button> )} </div> ); }

API 请求

使用 LGOS Studio 的 HTTP 模块进行 API 调用:

javascript
import { useEffect, useState } from '@LGOS Studio/react'; import { http } from '@LGOS Studio/core'; function DataFetcher() { const [data, setData] = useState(null); const [loading, setLoading] = useState(true); useEffect(() => { const fetchData = async () => { try { const response = await http.get('/api/data'); setData(response.data); } catch (error) { console.error('获取数据失败:', error); } finally { setLoading(false); } }; fetchData(); }, []); if (loading) return <p>加载中...</p>; return ( <div> <h2>获取的数据</h2> <pre>{JSON.stringify(data, null, 2)}</pre> </div> ); }

性能优化技巧

组件懒加载

javascript
import { lazy, Suspense } from '@LGOS Studio/react'; const HeavyComponent = lazy(() => import('./HeavyComponent')); function App() { return ( <Suspense fallback={<div>加载中...</div>}> <HeavyComponent /> </Suspense> ); }

记忆化计算

javascript
import { useMemo } from '@LGOS Studio/react'; function ExpensiveComponent({ items }) { const sortedItems = useMemo(() => { return items.sort((a, b) => a.value - b.value); }, [items]); return ( <ul> {sortedItems.map(item => ( <li key={item.id}>{item.name}</li> ))} </ul> ); }

最佳实践

组件设计

  • 保持组件小而专注
  • 使用组合而非继承
  • 遵循单一职责原则

状态管理

  • 仅在必要时使用全局状态
  • 优先使用本地组件状态
  • 使用选择器优化状态访问

性能优化

  • 使用 useMemouseCallback 避免不必要的重新计算
  • 使用虚拟列表处理大型数据集
  • 使用代码分割减少初始加载时间

样式管理

  • 使用 CSS 模块避免样式冲突
  • 采用设计系统保持一致性
  • 使用 CSS 变量实现主题切换

下一步

现在您已经掌握了 LGOS Studio 的基础知识,接下来可以: