【问题标题】:How to point heroku hosting to angular app and index.html in subdirectory?如何将heroku托管指向子目录中的角度应用程序和index.html?
【发布时间】:2016-06-02 13:26:22
【问题描述】:
我是使用 heroku 部署的新手。在我的 heroku 存储库中,我有一个 nodejs + angular 应用程序,其中我的 app.js 和所有 angular 文件都在一个名为 app/ 的子目录中
我使用 grunt,我可以毫无问题地在本地运行我的网站,然后我转到 localhost:8000/app。当我推送到 heroku 时,它会通过我的 package.json 并运行适当的脚本来构建项目。我也已经做了
heroku ps:scale web=1
但是,当我尝试时
heroku open
页面说:
应用程序错误应用程序和您的页面发生错误
无法送达。请稍后再试。
我相信这是因为 heroku 没有指向app/index.html,所以没有要渲染的页面。有什么解决办法吗?
【问题讨论】:
标签:
javascript
angularjs
node.js
heroku
【解决方案1】:
您的网络服务器配置文件(app.js/webserver.js 或任何您命名的文件)是什么样的?
这是一个使用 Express 的示例:
var express = require('express');
var bodyParser = require('body-parser');
var cookieParser = require('cookie-parser');
var session = require('express-session');
var app = express();
var port = process.env.PORT || 8000;
var path = require('path');
var rootPath = path.normalize(__dirname + '/');
app.use(express.static(rootPath + '/app'));
app.listen(port, function (err) {
console.log('running server on port ' + port);
});
如果以上配置正确,Heroku 应该可以轻松地在您的应用文件夹中找到您的 index.html。