当前位置:首页 > React

如何制作react静态站点

2026-03-11 05:56:40React

使用Create React App初始化项目

安装Node.js后,通过以下命令创建React项目:

npx create-react-app my-static-site
cd my-static-site

项目默认包含开发服务器和基础模板,适合快速启动。

配置单页应用(SPA)路由

安装React Router实现页面导航:

npm install react-router-dom

src/App.js中配置路由:

import { BrowserRouter as Router, Routes, Route } from 'react-router-dom';
import Home from './Home';
import About from './About';

function App() {
  return (
    <Router>
      <Routes>
        <Route path="/" element={<Home />} />
        <Route path="/about" element={<About />} />
      </Routes>
    </Router>
  );
}

生成静态HTML文件

安装react-snapshotreact-snap预渲染页面:

如何制作react静态站点

npm install react-snap

修改package.jsonbuild脚本:

"build": "react-scripts build && react-snap"

运行构建命令后,会在build文件夹生成静态HTML文件。

部署到GitHub Pages

安装gh-pages并配置部署脚本:

如何制作react静态站点

npm install gh-pages --save-dev

package.json中添加:

"homepage": "https://username.github.io/repo-name",
"scripts": {
  "predeploy": "npm run build",
  "deploy": "gh-pages -d build"
}

运行npm run deploy即可部署到GitHub Pages。

优化静态资源

使用gzipbrotli压缩文件,通过CDN加速加载。在build阶段添加压缩插件如compression-webpack-plugin

替代方案:使用Gatsby

Gatsby是专为静态站点设计的React框架,内置优化功能。安装命令:

npm install -g gatsby-cli
gatsby new my-gatsby-site
cd my-gatsby-site
gatsby develop

Gatsby自动处理路由、预渲染和性能优化,适合复杂静态站点。

标签: 静态站点
分享给朋友:

相关文章

react如何将页面静态化

react如何将页面静态化

React 页面静态化的方法 静态化(Static Site Generation, SSG)是将 React 应用预渲染为静态 HTML 文件的过程,提升加载速度和 SEO 友好性。以下是几种常见方…

如何将react打包成静态页面

如何将react打包成静态页面

使用 Create React App 构建 React 项目可以通过 create-react-app 工具快速生成,并内置了打包功能。运行以下命令生成生产环境代码: npm run build…

css站点制作

css站点制作

CSS 站点制作基础 CSS(层叠样式表)用于控制网页的样式和布局。以下是制作 CSS 站点的关键方法和步骤: 选择 CSS 框架或预处理器 现代 CSS 开发通常会借助框架或预处理器提升效率。…

php实现页面静态化

php实现页面静态化

PHP实现页面静态化的方法 生成静态HTML文件 将动态页面内容输出为静态HTML文件保存。通过file_put_contents或fopen系列函数实现: $html = ob_get_conte…

java 如何调用静态方法

java 如何调用静态方法

调用静态方法的基本语法 在Java中,静态方法属于类而非实例,直接通过类名调用,无需创建对象。语法格式为:类名.静态方法名(参数列表); 示例代码: public class…

vue实现静态博客

vue实现静态博客

Vue 实现静态博客的方法 使用 Vue 实现静态博客可以通过多种方式完成,以下是几种常见的方法: 使用 VuePress VuePress 是一个基于 Vue 的静态网站生成器,非常适合构建博客或…