我尝试使用express.static在http://localhost:3000/logo/logo.jpg投放图片。 图像 logo.jpg 位于 / public / images 中,我的代码是:
app.use("/logo", express.static(__dirname + '/public/images'));
页面加载,但图像已损坏。 Firefox说:http://localhost:3000/logo/logo.jpg处的图片无法显示,因为它包含错误。当我查看页面信息时,Firefox告诉我logo.jpg的图像尺寸是0x0。我尝试过使用各种图片和不同的浏览器,但它们都有同样的问题。
如何正确加载图像?
答案 0 :(得分:0)
我无法获取提供静态文件的目录,但是当我开始使用path.join
时,它开始按预期工作。试试这个:
var path = require('path');
app.use('/logo', express["static"](path.join(__dirname, 'public/images')));
答案 1 :(得分:0)
我找到了罪魁祸首。出于某种原因,如果我放置了这一行:
app.use("/logo", express.static(__dirname + '/public/images'));
在此代码之后:
// load liveReload script only in development mode
// load before app.router
// development only
if ('development' == app.get('env')) {
var liveReloadPort = 35729;
var excludeList = ['.woff', '.flv'];
app.use(require('connect-livereload')({
port: liveReloadPort,
excludeList: excludeList
}))
}
它没有用。但是,如果我在liveReload代码之前移动app.use(" / logo")...行,它就可以工作。
不完全理解为什么这个位置会影响代码的工作方式,但至少它确实如此!