2
我一直在關注使用Angular 2 universal實現應用程序的教程。在Heroku我越來越Angular 2 Universal Heroku部署
at=error code=H10 desc="App crashed" method=GET path="/"
和server.ts是
// the polyfills must be the first thing imported in node.js
import 'angular2-universal/polyfills';
import * as path from 'path';
import * as express from 'express';
import * as bodyParser from 'body-parser';
import * as cookieParser from 'cookie-parser';
// Angular 2
import { enableProdMode } from '@angular/core';
// Angular 2 Universal
import { expressEngine } from 'angular2-universal';
// enable prod for faster renders
enableProdMode();
const app = express();
const ROOT = path.join(path.resolve(__dirname, '..'));
// Express View
app.engine('.html', expressEngine);
app.set('views', __dirname);
app.set('view engine', 'html');
app.use(cookieParser('Angular 2 Universal'));
app.use(bodyParser.json());
// Serve static files
app.use('/assets', express.static(path.join(__dirname, 'assets'), {maxAge: 30}));
app.use(express.static(path.join(ROOT, 'dist/client'), {index: false}));
import { serverApi } from './backend/api';
// Our API for demos only
app.get('/data.json', serverApi);
import { ngApp } from './main.node';
// Routes with html5pushstate
// ensure routes match client-side-app
app.get('/', ngApp);
app.get('/about', ngApp);
app.get('/about/*', ngApp);
app.get('/home', ngApp);
app.get('/home/*', ngApp);
app.get('/ourwork', ngApp);
app.get('/ourwork/*', ngApp);
app.get('/services', ngApp);
app.get('/services/*', ngApp);
app.get('/portfolio', ngApp);
app.get('/portfolio/*', ngApp);
app.get('/contact', ngApp);
app.get('/contact/*', ngApp);
// use indexFile over ngApp only when there is too much load on the server
function indexFile(req, res) {
// when there is too much load on the server just send
// the index.html without prerendering for client-only
res.sendFile('/index.html', {root: __dirname});
}
app.get('*', function(req, res) {
res.setHeader('Content-Type', 'application/json');
var pojo = { status: 404, message: 'No Content' };
var json = JSON.stringify(pojo, null, 2);
res.status(404).send(json);
});
// Server
app.listen(3000,() => {
console.log('Listening on: http://localhost:3000');
});
我一直在四處尋找,並不能找到答案這個問題。任何幫助將不勝感激。
謝謝你的迴應,不幸的是,當我加入這行的代碼我開始在Heroku上得到以下錯誤。在__webpack_require__(/app/dist/server/index.js:21:30),在對象。(/app/dist/server/index.js:53:21),在__webpack_require__(/app/dist/server/index.js:21:30)你是否熟悉我如何在Angular 2中修復這些錯誤通用啓動包? –
TyAnthoney
我不太瞭解你評論中的新錯誤。你可以將它們添加到你的問題? – acdcjunior
請忽略此評論^^我發現解決方案是我的開發依賴不同於我的prod依賴。謝謝 – TyAnthoney