2016-05-17 57 views
3

我有一个node.js应用程序,我正在创建,我正在使用restify。我为某些数据设置了GET路由,但我也想从我的根目录提供静态内容。Restify:如何在不与其他路由冲突的情况下提供静态文件?

GET路线:

server.get({path : SURVEY_QUESTION_PATH, version : appVersion}, getLandingSurveyQuestions); 

静态路由:

server.get(/\/?.*/, restify.serveStatic({ 
    directory: 'static', 
    default: 'index.html' 
})); 

这个静态路由发生冲突与我的动态路由:我如何成为了这个静态的内容,不与其他路线冲突的我有?我讨厌为我的项目中的所有单个文件设置静态路由。

我曾尝试:

  1. 更改路线注册
  2. 的顺序调整的静态路由的正则表达式

回答

4

到目前为止,我有一个黑客:改变正则表达式包括常见的静态文件将被提供。这似乎效率低下,但工作。

server.get(/(^\/$)|(\.(html|js|css|png|jpg)$)/, restify.serveStatic({ 
    directory: 'static', 
    default: 'index.html' 
})); 
相关问题