在 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.html
和 main.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>
我在我的 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.html
和 main.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>