Sha*_*ard 4 javascript node.js
我在文件的末尾导出路由器并导出一个函数,但我只能让它们中的一个一次工作.
// 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');
};
Run Code Online (Sandbox Code Playgroud)
从我的主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
Run Code Online (Sandbox Code Playgroud)
use*_*572 15
有什么理由你不能这样做吗?这似乎比在exports中定义函数并尝试在weather.js中调用另一个函数更简洁.
module.exports = {
router:router,
refreshWeather:refreshWeather
}
Run Code Online (Sandbox Code Playgroud)
然后在app.js
var weather = require('./routes/weather.js');
app.use(weather.router)
weather.refreshWeather()
Run Code Online (Sandbox Code Playgroud)
如果您不想这样做,请尝试将exports = router更改为exports.router = router.然后在app.js中你可以调用weather.router.
| 归档时间: |
|
| 查看次数: |
2506 次 |
| 最近记录: |