对于快递有些问题,我似乎无法提供静态文件。 如果我这样做:
app.use('/*', express.static(DIST_FILEPATH));
它给了我一个301
或其他东西,基本上找不到该文件(我已经在隐身模式中尝试了它,以避免追逐/出现任何问题)。
但出于某种原因,如果我这样做:
app.use('/*', function (req, res, next) {
console.log(req.originalUrl);
console.log(DIST_FILEPATH);
res.sendFile(path.join(DIST_FILEPATH, req.originalUrl));
});
它工作正常,两条路径都是正确的。为什么会发生这种情况,我该如何解决?
快递版:4.14.1
答案 0 :(得分:0)
您的问题是您的语法略有偏差。如果您只想要服务器静态文件,您可以使用app.use(express.static(path.join(__dirname)));
,然后当您转到http://localhost:3000/
时,您可以添加index.html
之类的内容,以便您可以看到html
文件。以下是一个提供静态文件的简单快速服务器示例:
var express = require('express');
var path = require('path');
var app = express();
app.set('port', 3000);
app.use(express.static(path.join(__dirname))); //here you can change your path. for example you could add + 'public' if all of your files where in the 'public' directory
var server = app.listen(app.get('port'), function() {
var port = server.address().port;
});
您可以使用node <filename>.js
运行此功能,然后转到http://localhost:3000/index.html
或http://localhost:3000/myMusicFile.mp3
。
希望这有帮助!