Express JS子域静态内容

时间:2015-11-11 23:25:47

标签: javascript node.js express

我有一个用Node JS Express JS编写的API。我使用apidocjs.com生成静态内容。我遇到的问题是,如果这是最佳做法,我希望docs文件位于子域docs.example.comapi.example.com/docs下?

app.use(express.static(__dirname + '/public'));
app.use(express.static(__dirname + '/docs/api'));

app.use('/v1', subdomain('api', require('./controller/api_v1')(stormpath, log)));
app.use(subdomain('docs', require('./controller/docs')(stormpath, log)));

app.use(require('./controller/index')(stormpath, log));

如果我将docs / api中的index.html更改为start.html,则此方法有效。 所以最后一个问题是如果我不想要它,如何阻止快递JS启动index.html?

2 个答案:

答案 0 :(得分:1)

对于名为http://api.example.com/docs的API资源,

docs很容易混淆。

http://docs.example.com/避免了这种歧义,因此它可能是一个更好的选择。

答案 1 :(得分:0)

所以我做到了:)

这是怎么回事。我将这个lib用于handel子域express-subdomain

"APP.JS"
app.use(express.static(__dirname + '/docs/api', {
    index: false,
    redirect: false
}));

app.use(subdomain('docs', require('./controller/docs')(log)));

"docs/api"
res.sendFile(path.join(__dirname+'/../docs/api/index.html'));