代码之家  ›  专栏  ›  技术社区  ›  Sundar

创建react应用程序构建在LAMP/XAMPP/WAMP上部署

  •  10
  • Sundar  · 技术社区  · 7 年前

    如何在Apache WAMP/XAMPP服务器上部署构建?

    我创建了一个应用程序 create-react-app 关于这个申请我有两页

    当我执行 yarn start npm start 它工作正常,所有页面都在URL导航或单击按钮上正确呈现

    我执行了build命令

    npm运行构建

    它产生了所有 static index.html 上的文件 build 文件夹

    我已将此生成文件夹内容移动到 www 属于 wamp 文件夹并在url上执行 http://localhost 它只显示主页。下一页给出 404 not found error

    但当我执行 serve npm命令模块工作正常 http://localhost:5000

    服务构建

    请帮我解决这个问题?

    我必须在wamp服务器上部署我的应用程序所有都是静态页面没有rest api内容

    4 回复  |  直到 7 年前
        1
  •  8
  •   vess    6 年前

    默认情况下,react项目构建为直接部署到服务器“www”(根)文件夹中。因此,您可以将项目“build”文件夹的内容复制到WAMP“www”文件夹,然后转到 http://localhost/ 在浏览器中。将显示您的项目。

    或者,您可能需要使用WAMP根目录 子文件夹 ,例如“www/react/”。 在这种情况下,添加到您的包中。json文件a 主页 密钥:

    "homepage": "http://localhost/react/",
    

    然后再次构建项目:

    npm run build
    

    最后,将项目“build”文件夹的内容复制到“www/react/”。显示项目访问 http://localhost/react/

    您可以在中获得更多信息 How to deploy a React App on Apache web server

        2
  •  2
  •   speedy.user    4 年前

    在htdocs(xampp)中创建一个名为react的文件夹。

    添加“homepage”:“../”,(用于相对路径)或“homepage”:http://localhost/react/“,(绝对路径)在package.json文件中。

    和应用程序上。js文件

    <BrowserRouter basename='/react'>
      <Switch>
        <Route exact path="/">
          Hello
        </Route>
        <Route path="*" render={() => "404 Not found!"} />
      </Switch>
    </BrowserRouter>
    

    配置包后。json和应用程序。js run build命令

    npm run build
    

    然后将所有文件从build文件夹复制到htdocs中的react文件夹。

    并创建一个。htdocs中react文件夹中的htaccess。

    Options -MultiViews
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.html [QSA,L]
    

    如果子文件夹名称不同,请用文件夹名称替换/反应。

    示例-重命名/反应自

    "homepage": "http://localhost/react/"  
    <BrowserRouter basename='/react'>
    

    "homepage": "http://localhost/your_folder_name/"
    <BrowserRouter basename='/your_folder_name'>
    
        3
  •  0
  •   EltraEden    6 年前

    您需要为构建配置主页。

        4
  •  0
  •   Patrick Mevzek James Dean    5 年前

    在上设置basename属性。

    <Router basename={'/directory-name'}>
        <Route path='/' component={Home} />
    </Router>
    

    目录名称 是xampp htdocs文件夹下的文件夹名