モジュラーアプローチを、それを使用します。
別のあなたのFlickrの接続コードを置き:
flickr-public.js
var Flickr = require("flickrapi"),
flickrOptions = {
api_key: "API key that you get from Flickr",
secret: "API key secret that you get from Flickr"
};
module.exports = (function(){
Flickr.tokenOnly(flickrOptions, function(error, flickr) {
//handle error here
console.log('Flickr Object Obtained');
return flickr;
});
})();
注:より良いあなたのapp.jsファイルにFlickrのオブジェクトをインスタンス化します。 サーバーが起動するとオブジェクトがすぐに作成されるようにします。 このflickrオブジェクトは公開API専用であり、何度も何度も認証する必要はありません。
あなたは、単にapp.jsファイルでそれを必要とすることによって、Flickrのオブジェクトをインスタンス化することができます今だけで単純にそれを要求することにより、任意の場所にFlickrのオブジェクトにアクセス
require('./flickr-public');
。 Node.jsのdocumentationから
:
routes.js
const flickr = require('../path-to/flickr-public');
app.get('/', function (req, res) {
//use flickr object to perform actions.
});
説明
モジュールは、それらがロードされた最初の時間の後にキャッシュされます。これは、とりわけ、require('foo')
へのすべての呼び出しで、同じファイルに解決される場合は、返されるオブジェクトがまったく同じになることを意味します。 require('foo')
を複数回呼び出しても、モジュールコードが複数回実行されることはありません。
あなたは 'app.get' callback..justの内側に通常' Flickr.tokenOnly'を呼び出すことができます要求 – deadlock