在LoopBack tutorial之后,如果目录没有index.html
或类似名称,我想修改它以提供目录列表。
我之前在Express中使用过:
var express = require('express');
var serveIndex = require('serve-index');
var app = express.express();
app.use('/', serveIndex(__dirname + '/public', {}));
app.use('/', express.static('public'));
我可以修改middleware.json
来执行此操作吗?或者,我怎么能在LoopBack JS启动脚本中执行此操作?
我已尝试将以下内容放在引导目录中的文件routes.js
中:
module.exports = function(app)
{
var serveIndex = require('serve-index');
app.use('/', serveIndex(__dirname + '../client', {}));
app.use('/', app.static('../client'));
};
但它显然不一样,因为第一个例子中的app.static()
不是与use()
在同一个对象上的方法 - 即第二个例子产生错误:
TypeError:app.static不是函数
(路径也不对,但我一次只处理一个问题)
答案 0 :(得分:1)
这很简单。虽然我找不到通过loopback app对象访问express模块的方法,但它可能只是require()
d。
使用以下内容创建文件./server/boot/routes.js
:
module.exports = function(app)
{
var express = require('express');
var serveIndex = require('serve-index');
var croot = __dirname+'/../../client';
app.use('/', express.static(croot));
app.use('/', serveIndex(croot, {'icons': true}));
}