我们正在使用快递4,现在我有类似的东西:
var express = require('express'),
router = express.Router();
router.get('/local_modules/*', function (req, res, next) {
var moduleName = req.url.match(/local_modules\/(.*?)\//).pop(1)
res.sendFile(filePath + '.js');
}
我想做更多的事情:
router.get('/local_modules/*', function (req, res, next) {
var moduleDir = req.url.match(/local_modules\/(.*?)\//).pop(1)
fs.readdir(moduleDir, function(err, files) {
files.forEach(function(f) {
res.sendFile(path.join(moduleDir, f));
})
}
}
但这不起作用。如何使用express提供多个文件?注意:不仅是目录中的所有文件(如示例中所示) - 可能可以使用app.use; express.static
完成,但具体的文件集(例如,我可能需要从bower.json获取文件列表)< / p>
答案 0 :(得分:5)
除非您使用自己的特殊格式(标准多部分或其他格式),然后在客户端解析(例如通过XHR),否则无法在单个响应中发送多个这样的文件。
最简单的解决方法可能是归档(zip,7zip,tarball等)文件,然后提供该归档文件。但是,假设您希望用户下载它而不是在浏览器中使用这些文件(除非您在浏览器中使用zip等解析器并使用XHR)。