Javascript Express JS子域静态内容
我有一个用NodeJS Express编写的API。我曾经生成静态内容。我遇到的问题是,我希望文档文件位于子域下,或者这是最佳做法Javascript Express JS子域静态内容,javascript,node.js,express,Javascript,Node.js,Express,我有一个用NodeJS Express编写的API。我曾经生成静态内容。我遇到的问题是,我希望文档文件位于子域下,或者这是最佳做法 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
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,这将起作用。
因此,最后一个问题是,如果我不希望它启动index.html,如何停止express JS?
http://api.example.com/docs
很容易与名为docs
的API资源混淆
http://docs.example.com/
避免了这种模糊性,因此它可能是一个更好的选择。所以我这样做了:)
这里是如何。我用这个库来处理子域
我认为这是一个很好的方法。但在express中,我如何设置子域并拥有指向apidocs的静态路径呢?@KristerJohansson如果express都是静态的,我就不会这样做。我的朋友凯文,你会怎么做?第二台服务器?nginx或apache。让nginx监听端口80/443,然后将其反向代理到我的节点服务器。如果我有静态资产,nginx将直接为它们提供服务,无论它是在与节点应用程序相同的域上,还是在不同的一个/子域上。
"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'));