[英]Node.js export both router and function
我在文件的末尾導出路由器並導出一個函數,但我只能讓它們中的一個一次工作。
// weather.js
var express = require('express');
var router = express.Router();
refreshWeather(){
// Refresh weather...
}
exports = router; // It's either this
exports.refresh = function() { // or this.
refreshWeather();
console.log('Done refreshing');
};
從我的主app.js我希望能夠做到這兩點:
//app.js
var express = require('express');
var app = express();
var weather = require('./routes/weather.js');
app.use(weather) // I want to be able to use this for routing
weather.refresh(); // But also be able to call refresh function of weather.js
有什么理由你不能這樣做嗎? 這似乎比在exports中定義函數並嘗試在weather.js中調用另一個函數更簡潔。
module.exports = {
router:router,
refreshWeather:refreshWeather
}
然后在app.js
var weather = require('./routes/weather.js');
app.use(weather.router)
weather.refreshWeather()
如果您不想這樣做,請嘗試將exports = router更改為exports.router = router。 然后在app.js中你可以調用weather.router。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.