簡體   English   中英

Node.js導出路由器和功能

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM