我有一个通过http加载图片的移动应用。我正在使用GET参数进行缓存清除。在质量保证和生产中,图像通过S3提供,这很好。但在开发过程中,我使用express.static()直接从我的node / express后端为它们提供服务。但是这里get参数使静态找不到文件。有没有办法告诉express.static忽略GET参数?我挖掘代码,但可以找到任何明显的东西。想法?
+++ +++ UPDATE
代码和用法示例:
//serve assets on the dev server only
if ((process.env.NODE_ENV || 'DEVELOPMENT') == 'DEVELOPMENT') {
app.use(express.static(path.resolve(__dirname,'..','public')));
}
这个有效: 本地主机:3000 /资产/化身/ example.png
这个没有: 本地主机:3000 /资产/化身/ example.png V = 2
+++ ++++ CLOSED
实际上,如下所述,这个错误与静态路由无关。真诚地为浪费你的时间而道歉。
答案 0 :(得分:1)
Express正在运行您一个接一个地定义的所有路线,所以如果您这样做:
app.use('/',express.static('/'))
app.get('/myparamter',function(req,res,next){
res.send('This Will never be called')
})
但如果你这样做:
app.get('/myparamter',function(req,res,next){
res.send('This Will be called if you request /myparmeter')
})
// If not another route matches the URL it will server default static file.
app.use('/',express.static('/'))