我有一个基于此Bootstrap模板here的单页应用程序。我的在线简历基本上是Gulp应用程序。它托管在Heroku上,如果我能够解决当前问题,我将把我的个人域指向它。
但是现在要说的是,我不是Heroku的高级用户,并且我肯定会丢失一些东西。
问题是:
在我的应用程序根目录中,创建了另一个名为apps
的目录,并在其中创建了另一个目录blog
。现在我有了这个:
my_app_root_dir -> apps -> blog -> index.html
此index.html文件包含一个很小的从头开始编写的React应用程序,即我没有使用create-react-app
,而是直接编写了所有内容并包含了React这样的内容:
<script src="https://unpkg.com/react@16/umd/react.production.js"></script>
<script src="https://unpkg.com/react-dom@16/umd/react-dom.production.js"></script>
现在,我想在我的主页中找到此博客应用程序的链接,例如:
<a href="apps/blog/index.html">Blog</a>
当我在自己的环境中运行它时,它可以很好地工作。我单击链接,博客页面正确加载。
但是,当我将其部署到Heroku并单击Blog链接时,它只是加载了主页,但与CSS混淆了。当我使用heroku logs
查看正在发生的事情时,很明显它正在将我的请求路由到初始页面。这是很自然的,毕竟这是单页应用!
我的问题是:
我可以使用一些方法来指示Heroku将我重定向到此内部目录吗?
换句话说,我如何告诉Heroku将所有形式为http://myapp.herokuapp.com/apps/blog/
的请求重定向到apps/blog/index.html
?
或另一种方式:
我可以以这种方式离开这个单页应用程序方案并“嵌入”其他子应用程序吗?
对于那些非常了解Heroku的人来说,这可能是一个愚蠢的问题,但是我研究了一段时间却没有找到解决我问题的答案。如果这不可能,那么我将不得不找到另一个解决方案来托管我的网站。也许是一个VPS,我可以在其中复制与开发机器相同的配置,就像我之前提到的那样,它运行得很好。
更新:
package.json
{
"title": "eddealmeidda",
"name": "startbootstrap-resume",
"version": "4.1.1",
"description": "Ed de Almeida's base website",
"keywords": [
"Ed de Almeida",
"website",
"site"
],
"homepage": "https://eddealmeida.herokuapp.com/",
"bugs": {
"url": "https://github.com/IntelligenceAndTechnology/ed-de-almeida/issues",
"email": "edvaldoajunior@gmail.com"
},
"license": "MIT",
"author": {
"name": "Ed de Almeida",
"email": "edvaldoajunior@gmail.com"
},
"engines": {
"node": "8.9.1"
},
"repository": {
"type": "git",
"url": "https://github.com/IntelligenceAndTechnology/ed-de-almeida.git"
},
"dependencies": {
"devicons": "^1.8.0",
"jquery": "3.3.1",
"serve": "^8.2.0",
"simple-line-icons": "^2.4.1"
},
"devDependencies": {
"browser-sync": "^2.24.5",
"gulp": "^3.9.1",
"gulp-clean-css": "3.9.4",
"gulp-header": "2.0.5",
"gulp-rename": "^1.2.2",
"gulp-sass": "4.0.1",
"gulp-uglify": "3.0.0"
},
"scripts": {
"start": "serve -s -p $PORT ."
}
}