2016-11-30 12 views
0

Я пытаюсь установить обработчик error404. Поскольку я осмотрел здесь, я должен установить путь «*» к странице error404.jade в финале остальной части маршрутов.Страница не работает, когда я устанавливаю обработчик error404 (app.get ('*', ......))

Когда это делается, страница не загружает изображения, файлы css или javascript. Это не имеет смысла для меня.

app.ts

import express = require('express'); 
import routes = require('./routes/index'); 
import http = require('http'); 
import path = require('path'); 

var app = express(); 

// all environments 
app.set('port', process.env.PORT || 3000); 
app.set('views', path.join(__dirname, 'views')); 
app.set('view engine', 'jade'); 
app.use(express.favicon()); 
app.use(express.logger('dev')); 
app.use(express.json()); 
app.use(express.urlencoded()); 
app.use(express.methodOverride()); 
app.use(app.router); 

app.use(express.static(path.join(__dirname, 'public'))); 

// development only 
if ('development' == app.get('env')) { 
    app.use(express.errorHandler()); 
} 

app.get('/', routes.login); 
app.get('/home', routes.home); 
app.get('/markets', routes.markets); 
app.get('/market/*', routes.specific_market); 
app.get('/trades', routes.trades); 
app.get('/about', routes.about); 
app.get('/contact', routes.contact); 
//app.get('*', routes.error404); 

http.createServer(app).listen(app.get('port'), function() { 
    console.log('Express server listening on port ' + app.get('port')); 
}); 

index.ts

/* 
* GET home page. 
*/ 
import express = require('express'); 
import market_routes = require('./market-routes'); 
import trade_routes = require('./trade-routes'); 
import data = require('../Scripts/data-test'); 

// STATIC PAGES 
export function login(req: express.Request, res: express.Response) { 
    res.render('login', { title: 'Login', user, year: new Date().getFullYear() }); 
}; 
export function about(req: express.Request, res: express.Response) { 
    res.render('about', { title: 'About', user, year: new Date().getFullYear(), message: 'Description page' }); 
}; 
export function contact(req: express.Request, res: express.Response) { 
    res.render('contact', { title: 'Contact', user, year: new Date().getFullYear(), message: 'Contact page' }); 
}; 
export function error404(req: express.Request, res: express.Response) { 
    res.render('error404', { title: 'Not Found', user, year: new Date().getFullYear(), message: 'Error page' }); 
}; 

var user = data.user; 

export function home(req: express.Request, res: express.Response) { 
    res.render('home', { title: 'Home', user, year: new Date().getFullYear() }); 
}; 

export function markets(req: express.Request, res: express.Response) { market_routes.markets(req, res); }; 
export function specific_market(req: express.Request, res: express.Response) { market_routes.specific_market(req, res); }; 

export function trades(req: express.Request, res: express.Response) { trade_routes.trades(req, res); }; 
export function advanced_trades(req: express.Request, res: express.Response) { trade_routes.advanced_trades(req, res); }; 

(img) Page with the line 'uncommented'

(img) Page with the line 'commented'

+0

Ваш statics arent найден. попробуйте использовать rote без '' * '', просто' app.use (routes.error404); ' –

+0

@JohannesMerz YEES !!! Это работает! Большое спасибо –

+0

Я создал официальный ответ, чтобы другие могли видеть. –

ответ

0

Ваш статика Арент найдено. используйте маршрут без '*':

app.use(routes.error404);