2013-06-12 2 views
1

Я много об этом читал и кажется, что это проблема, которая смущает много людей. Я делаю проект с экспрессом, и я не хочу, чтобы у вас были какие-то заманчивые движки, я использую основу с подчеркиванием, и это достаточно для меня. Я хочу написать простой HTML и сделать их ..Страница с экспресс-доставкой

app.configure(function(){ 
    app.set('port', process.env.PORT || 3000); 
    app.set("view options", {layout: false}); 
    app.use(express.static(__dirname + '/views')); 
    app.set('views', __dirname + '/views'); 
    app.use(express.favicon()); 
    app.use(express.logger('dev')); 
    app.use(express.bodyParser()); 
    app.use(express.methodOverride()); 
    app.use(express.cookieParser()); 
    app.use(express.session({ secret: 'topsecret' })); 
    app.use(passport.initialize()); 
    app.use(passport.session()); 
    app.use(app.router); 
    app.use(express.static(path.join(__dirname, 'public'))); 
}); 

это то, что я до сих пор .. Я имею трудное время, чтобы понять, как выразить знает, чтобы сделать файл index.html в моей домашней странице даже хотя у меня есть это:

app.get('/', function(req, res){ 
    console.log("Heyyyyyy"); 
}); 

Я не ожидал ничего оказанной, и «Heyyyy» для печати, но экспресс оказывает index.html и оленья кожа печати «Heyyyy»

ответ

3

Экспресс оценивает промежуточное программное обеспечение в порядке которые они настроены.

У вас есть статический обработчик файлов до вашего app.router.

Возьмите файл index.html из каталога __dirname + '/views'.

У вас также есть статический обработчик файлов в нижней части стека промежуточного программного обеспечения. Статические обработчики файлов должны быть в верхней части стека промежуточного программного обеспечения. Когда они находятся в нижней части стека промежуточного программного обеспечения, каждый запрос без необходимости обрабатывает весь стек. Например, вам не нужно запускать express.bodyParser() при обслуживании статических файлов.

+0

спасибо, но теперь проблема в том, что проблема: «Не удается найти модуль« html », когда я пытаюсь выполнить res.render ('login.html') –

+0

Вам не нужно отображать html, просто отправьте его! см. [отправить экспресс-документ] (http://expressjs.com/api.html#res.send) – brnrd

+0

Вы не должны отображать html, если вы не используете шаблоны. Просто поместите login.html в путь, который вы установили для выражения 'express.static()', и убедитесь, что 'express.static()' находится перед вашим 'app.router'. – Daniel

Смежные вопросы