Heroku路由:我可以路由到内部目录吗?

时间:2018-07-16 02:44:20

标签: reactjs heroku routing gulp

我有一个基于此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 ."
    }
}

0 个答案:

没有答案