Экспресс-маршрут к другому файлу

Я новичок в экспрессе, и я также использую Backbone Boilerplate. В случае развития, когда просят /assets/css/index.css Я хочу доставить /public/dist/debug/index.css,
Я сделал это:

var env = process.env.NODE_ENV || 'development';
switch (env) {
    case 'development':
        app.get('/assets/css/index.css', function(req, res) {
            res.sendfile('public/dist/debug/index.css');
        });
        break;
}

Но по какой-то причине моя страница продолжает получать неправильный файл: /assets/css/index.css,

Что случилось?

1 ответ

Решение

Это должно работать, если вы не используете express.static() (который я предполагаю, обрабатывает запросы на /assets/css/index.css; если нет, замените на "маршрут, который обрабатывает эти запросы":) перед вашим маршрутом (что будет означать, что статическое промежуточное программное обеспечение будет обрабатывать запрос первым).

Кроме того, вместо вашего switch заявление, вы можете использовать app.configure:

app.configure('development', function() {
  // this code will only run when in development mode
  app.get('/assets/css/index.css', function(req, res) {
    res.sendfile('public/dist/debug/index.css');
  });
});

// static middleware after your route
app.use(express.static(...));
Другие вопросы по тегам