【发布时间】:2015-09-21 14:52:38
【问题描述】:
我尝试做这样的事情:
var main = express();
main.use(express.static(path.resolve('./asset')));
main.route('someroute', someHandle);
var app = express();
app.use(express.static(path.resolve('./asset')));
app.route('someroute', someHandle);
main.use('/app', app);
资产 /asset/someasset.js 服务良好,但 /app/asset/someasset.js 未返回 (404),路径解析为正确的文件夹。
我试过app.use('/app', express.static(path.resolve('./asset'))); - 不工作,但main.use('/app', express.static(path.resolve('./asset'))); - 工作!
将express.static 与挂载的子应用一起使用是否有一些限制?
更新:
我尝试使用 http://expressjs.com/ru/4x/api.html#express app.mountPath 中描述的挂载应用程序,期望作为子应用程序快速挂载的所有功能都应该在其中工作,并且偶然发现静态问题我想知道这种使用是否有限制案子?它们可能是什么?
【问题讨论】:
-
好吧,因为您正在使用一个 express 应用程序作为另一个 express 应用程序的中间件。我不工作。看看中间件:expressjs.com/guide/using-middleware.html
-
@Peyman,这是否意味着当使用 express 作为中间件时,它不能使用其他中间件?我没有找到您提供的链接
-
这是一个好问题,我不知道,我想你也许可以,但我敢肯定的是你不能做 main.use('/app', app )。因为 app 是一个快速应用程序实例,而它应该是一个中间件。 express.static 是一个中间件。
-
快递应用本身就是中间件,仅供参考@Peyman
-
是的,我更新了问题
标签: javascript node.js express subapplication