在 Alwaysdata 上使用 Apache 制作 React 应用程序

React app production with Apache on Alwaysdata

我在我的 apache 网络服务器上有一个生产模式下的应用程序 ReactJS,但我在用户程序中加载它(仅反应),我们可以看到源代码。

我可以使用 Apache,但是当我这样做时,它会使用该配置覆盖同一域 (*.example.com) 上的所有其他站点:

DocumentRoot /home/neko/www/react/build
<Directory "/home/neko/www/react/build">
    RewriteEngine on
    # Don't rewrite files or directories
    RewriteCond %{REQUEST_FILENAME} -f [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule ^ - [L]
    # Rewrite everything else to index.html to allow html5 state links
    RewriteRule ^ index.html [L]
  </Directory>

编辑:在 alwaysdata 上,我们不需要设置 virtualhost braquet
这样配置就可以工作,但无论如何我们都可以看到源代码

解决方案是使用 Webpack, that tutoriel 帮了我很多。

最后,webpack 为我们创建了一个名为 dist 的文件夹,其中只有 index.htmlmain.js,可以像在我的网络服务器上那样使用。
所以它可以像那样(在 Alwaysdata 上):

DocumentRoot /home/neko/www/react/dist
<Directory "/home/neko/www/react/dist">
    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} -f [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule ^ - [L]
    RewriteRule ^ index.html [L]
  </Directory>