我是使用heroku进行部署的新手。在我的heroku repo中,我有一个nodejs + angular app,我的extern void print_clear_all(void);
extern void print_menu_title(const char *const pgm_string);
extern void print_menu_item(const char *const pgm_string, const unsigned char is_focus);
extern void print_clear_rest();
static const menu_t *current_menu = &main_menu;
static unsigned char current_item = 0;
void menu_refresh(void)
{
const unsigned char n = pgm_read_byte(&(current_menu->items));
const void *const *const itemarray = (const void *const *)pgm_read_word(&(current_menu->item));
unsigned char i;
print_clear_all();
print_menu_title((const char *)pgm_read_word(&(current_menu->title)));
for (i = 0U; i < n; i++)
print_menu_item((const char *)pgm_read_word(itemarray + i), i == current_item);
print_clear_rest();
}
void menu_prev(void)
{
if (current_item > 0U)
--current_item;
menu_refresh();
}
void menu_next(void)
{
if (current_item + 1U < pgm_read_byte(&(current_menu->items)))
++current_item;
menu_refresh();
}
void menu_enter(void)
{
const void *const *const itemarray = (const void *const *const)pgm_read_word(&(current_menu->item));
const menuitem_t *const item = (const menuitem_t *const)pgm_read_word(itemarray + current_item);
void (*const action)() = (void (*)())pgm_read_word(&(item->action));
const menu_t *const submenu = (const menu_t *const)pgm_read_word(&(item->submenu));
if (action)
action();
if (submenu)
current_menu = submenu;
menu_refresh();
}
和所有角度文件都在一个名为app.js
我使用grunt,我可以毫无问题地在本地运行我的网站,然后转到app/
。当我推送到heroku时,它会通过我的localhost:8000/app
并运行相应的脚本来构建项目。我也已经完成了
package.json
然而,当我尝试
时heroku ps:scale web=1
页面上写着:
应用程序错误应用程序和页面中发生错误 无法提供服务。请稍后再试。
我相信这是因为heroku没有指向heroku open
,因此没有要呈现的页面。有没有解决这个问题?
答案 0 :(得分:0)
您的网络服务器配置文件(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应该可以在您的app文件夹中找到index.html。