用Express打开页面

时间:2013-06-12 20:17:45

标签: node.js express

我已经阅读了很多关于这个问题,似乎这个问题让很多人感到困惑。我正在用快递做一个项目,我不想要你任何诱人的引擎,我使用骨干与下划线,这对我来说足够了。我想写纯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')));
});

这就是我到目前为止所做的...我很难理解express如何将index.html文件呈现为我的主页,即使我有这个:

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

我希望没有任何东西可以渲染,“Heyyyy”可以打印但是快速渲染index.html并且不打印“Heyyyy”

1 个答案:

答案 0 :(得分:3)

Express按照配置顺序评估中间件。

您的app.router之前有一个静态文件处理程序。

index.html文件从__dirname + '/views'目录中取出。

您的中间件堆栈底部还有一个静态文件处理程序。静态文件处理程序应位于中间件堆栈的顶部。当它们位于中间件堆栈的底部时,每个请求都会不必要地处理所有堆栈。例如,在提供静态文件时无需运行express.bodyParser()