部署到heroku时获取“无法获取/”,但没有错误消息?

时间:2017-02-19 00:15:42

标签: javascript heroku

之前,由于suggestion,我能够解决我的webpack问题。但是,当我尝试部署我的反应应用程序时,我没有收到任何错误,但是当我浏览到已部署的链接时得到了“无法获取/”。我尝试更改script,甚至将整个项目移动到public文件夹。似乎没有什么对我有用。我在这个过程中缺少了什么步骤?

以下是我的项目目录:

|-node_modules
|-public
  |-app
  |-src
  |-webpack.config.js
|-package.json
|-Procfile
|-server.js

app文件夹包含我的html,css和main.js文件。 src文件夹包含我的组件。这是我当前的package.json文件:

{
  "name": "",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "serve": "webpack-dev-server"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "babel-core": "5.8.*",
    "babel-loader": "5.3.*",
    "express": "^4.14.1",
    "react": "^15.4.2",
    "react-dom": "^15.4.2",
    "webpack": "^1.14.0",
    "webpack-dev-server": "^2.3.0"
  }
}

这是我的server.js:

var express = require('express');
var app = express();

app.use(express.static(__dirname + '/public'));

app.listen(process.env.PORT || 8080);

我很感激帮助。谢谢。

1 个答案:

答案 0 :(得分:0)

  • 输入heroku logs,这样就可以看到错误了

  • 确保您的 Procfile 如下所示:web: webpack-dev-server

  • 你有路线文件夹吗?如果没有,请执行以下操作:创建路径文件夹,添加名为index.js的文件。在该文件中,添加:

    var express = require('express');  
    var router = express.Router();

    router.get('/', function(req, res, next) {  
          res.status(200).send("Hi, It works!")  
    });  
  • server.js文件中添加
    var videos = require('./routes/index');
    app.use('/vids', videos);

  • 在本地测试,如果正确,再将其部署到heroku。