You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Create React App的public目录使用HTML/JS文件并配置路由

解决方案

1. 放置静态资源到public目录

将你的HTML文件(命名为legacy-ui.html为例)、关联的JS文件(如script1.js、script2.js)、CSS样式文件全部复制到项目的public文件夹中。注意HTML内部的资源引用要使用相对路径,比如:

<!-- legacy-ui.html 中的资源引用示例 -->
<link rel="stylesheet" href="./styles.css">
<script src="./script1.js"></script>
<script src="./script2.js"></script>

2. 调整React Router配置

首先修正你当前App.js中的路由语法错误(原代码错误地将BrowserRouter命名为Routes),然后添加对应路由并创建组件加载静态HTML:

步骤2.1 创建加载静态页面的组件

在src/components目录下新建LegacyUI.js:

import React from 'react';

const LegacyUI = () => {
  return (
    <iframe 
      src="/legacy-ui.html" 
      style={{ width: '100%', height: '100vh', border: 'none' }}
      title="Legacy Interface"
    />
  );
};

export default LegacyUI;

使用iframe是最可靠的方式,能完整保留原HTML的JS交互、CSS样式和按钮功能。

步骤2.2 更新App.js路由

修改后的App.js代码:

import React from 'react';
import './App.css';
import { BrowserRouter as Router, Routes, Route } from 'react-router-dom';

import Home from './components/Home';
import About from './components/About';
import Signup from './components/Signup';
import LegacyUI from './components/LegacyUI'; // 引入新组件

const App = () => {
  return (
    <Router>
      <Routes>
        <Route path='/' exact element={<Home />} />
        <Route path='/about' exact element={<About />} />
        <Route path='/signup' exact element={<Signup />} />
        {/* 添加静态页面路由 */}
        <Route path='/legacy-ui' element={<LegacyUI />} />
      </Routes>
    </Router>
  )
}

export default App;

3. 测试访问

启动项目后,访问http://localhost:3000/legacy-ui即可看到你原HTML页面的完整功能。

内容的提问来源于stack exchange,提问作者thor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 20:20:52