应用程序在本地工作但不在Heroku上(应用程序错误);使用Nodemon和Webpack

时间:2017-04-29 00:10:31

标签: mongodb reactjs express heroku webpack

好吧,我已经尝试在StackOverflow上查询我的问题,但我找不到能帮助我的东西,因为我尝试的一切都没有对结果产生任何影响(应用程序错误)。

所以我真的很难过,因为应用程序在我的本地主机上运行得非常好,但是我无法让它在Heroku上工作,它只是给了我一个应用程序错误,所以我不知道问题是什么。

所以我的package.JSON文件看起来像这样:

"main": "index.js",
  "scripts": {
  "test": "echo \"Error: no test specified\" && exit 1",
  "start": "nodemon --use_strict index.js",
  "bundle": "webpack"
},

我已经尝试将“nodemon”更改为“node”并摆脱了--use_strict并在本地主机上运行它仍然可以正常工作但是Heroku应用程序仍然给我一个应用程序错误。

index.js我唯一可以想到的是坏事(改变它并在这里运行):

// start the server
app.listen(3000, () => {
  console.log('Server is running.');
});

webpack.config.js:

const path = require('path');


module.exports = {
  // the entry file for the bundle
  entry: path.join(__dirname, '/client/src/app.jsx'),

  // the bundle file we will get in the result
  output: {
    path: path.join(__dirname, '/client/dist/js'),
    filename: 'app.js',
  },

  module: {

    // apply loaders to files that meet given conditions
    loaders: [{
      test: /\.jsx?$/,
      include: path.join(__dirname, '/client/src'),
      loader: 'babel-loader',
      query: {
        presets: ["react", "es2015"]
      }
    }],
  },

  // start Webpack in a watch mode, so Webpack will rebuild the bundle on changes
  watch: true
};

在git push heroku master之后正确部署: https://c1.staticflickr.com/3/2873/33519283263_3d9a711311_z.jpg

我正在尝试让这个应用程序在Heroku上运行: https://vladimirponomarev.com/blog/authentication-in-react-apps-creating-components

我认为可能的问题可能是你必须在一个shell上运行“run bundle”而在另一个shell中运行“npm start”。

另一件事,这个应用程序有很多东西是在node_modules中手动安装的,如果我试图在github上推送它而Heroku不接受它会崩溃,所以我认为这可能也是一个问题虽然我不知道怎么解决这个问题。

这也使用Express和Mongodb,我将我的mongodb信息添加到index.json文件并运行应用程序,它工作得非常好,在检查数据库之后,正确的信息也在其中,所以它不是那样的任

1 个答案:

答案 0 :(得分:2)

您应该使用process.env.PORT而不是自定义端口3000。

检查您是否购买了mongodb插件,您可以免费获得一个,但间距有限!

如果你还没有这样做,请使用该数据库的配置变量!