Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/471.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Express JS子域静态内容_Javascript_Node.js_Express - Fatal编程技术网

Javascript Express JS子域静态内容

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

我有一个用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.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'));