【问题标题】:Node.js cannot GET static files every third refreshNode.js 无法每三次刷新获取静态文件
【发布时间】:2015-09-21 10:46:18
【问题描述】:

我有一个静态页面设置为指向我的图像目录,该目录正在由单独服务器上的网站拉取。出于某种原因,当我直接转到图像 URL 时,图像会加载(Chrome),如果我刷新页面,它会给我这样的错误:

Cannot GET /users/picture

我的 app.js 有这个:

var app = express();
    app.disable('view cache');
    app.use(express.static(__dirname + '/public')); //setup static public directory
    app.use('/users/picture', express.static('./public/images/users'));

... 

加上一些路由和其他东西,比如用于图片上传的 multer()。

由于某种原因,如果我在 Bluemix 上刷新生产服务器上的页面,图片每三次加载一次。否则它会给我这个 Cannot GET route 错误。

会不会和记忆有关?

【问题讨论】:

    标签: node.js image ibm-cloud multer static-pages


    【解决方案1】:

    我也面临同样的问题。我按照提到的步骤here

    Move the static middleware to the top of app.configure function, before all the other app.* calls.
    
    app.use(express.static(__dirname + '/public'));
    

    就我而言,我想提供不同的文件夹。所以我把它移到了上面,就在下面:

    var app = express();
    app.use(express.static(path.join(__dirname, 'myRootFolder', 'myActualPublicFolder')));
    

    【讨论】:

      【解决方案2】:

      如果您不小心将多个应用程序绑定到同一路由,就会发生这种情况。路由器/负载平衡器正在根据某些请求选择其他应用程序。确认您的所有应用程序都绑定到了 bluemix 仪表板中的正确唯一路由或通过执行 cf apps

      【讨论】:

      • 你先生应该喝一大杯肥啤酒。有两个应用程序绑定到同一个路由,cf apps 完美地列出了它们。
      猜你喜欢
      • 2013-08-09
      • 1970-01-01
      • 2017-10-13
      • 1970-01-01
      • 2020-08-12
      • 2015-03-10
      • 2016-08-31
      • 1970-01-01
      • 2014-02-06
      相关资源
      最近更新 更多