模塊方法:
把你的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,並且不需要一次又一次地進行身份驗證。通過簡單地要求它
require('./flickr-public');
現在只需訪問Flickr的對象的任何地方:
您可以通過簡單地要求它在實例Flickr的對象app.js文件。
routes.js
const flickr = require('../path-to/flickr-public');
app.get('/', function (req, res) {
//use flickr object to perform actions.
});
說明:
從node.js的documentation:
模塊是他們第一次加載後緩存。這意味着(除其他外)每次調用require('foo')
時都會返回完全相同的對象,如果它解析爲相同的文件。 對require('foo')
的多次調用可能不會導致模塊代碼被多次執行。
你可以叫'Flickr.tokenOnly'通常裏面的'app.get' callback..just確保CAL'res.send()'或'res.end()'終止該請求 – deadlock