我如何在JS中动态地要求模块、实例化对象和调用函数
How do i dynamically require module, instantiate object and call function in JS
构建一个节点应用程序,我一直在使用我构建的几个不同的比特币交换模块进行需求和操作。有时我想添加或删除一个交换,通过代码添加和删除对交换的所有硬编码引用是很痛苦的。
有办法做这样的事情吗?很抱歉,如果这是一个明显的问题——我对node和(编程)周末战士来说相对陌生。提前感谢您的意见。
//config.js
var config = {}
config.exchanges = ['bitfinex', 'bitstamp', 'btce'];
module.exports = config;
//app.js
var config = require('./config');
var _= require('underscore');
_.each(config.exchanges, function(exchange){
//obviously not correct, but how would I accomplish something like this?
var Exchange = require('./api/exchange');
var exchange = new Exchange();
exchange.do_stuff();
});
这是一段在没有引用的情况下加载模型、控制器和api文件的代码:
# Bootstrap models
models_path = __dirname + "/models"
fs.readdirSync(models_path).forEach (file) ->
require models_path + "/" + file if ~file.indexOf(".js")
# Bootstrap controllers
controllers_path = __dirname + "/controllers"
fs.readdirSync(controllers_path).forEach (file) ->
app.controllers[file.slice(0, -3)] = require(controllers_path + "/" + file) if ~file.indexOf(".js")
return
# Bootstrap api
api_path = __dirname + "/api"
fs.readdirSync(api_path).forEach (file) ->
app.api[file.slice(0, -3)] = require(api_path + "/" + file) if ~file.indexOf(".js")
return
希望它能帮助
相关文章:
- Angular重命名模块后未能实例化模块
- AngularJS出错-无法实例化模块
- 未捕获错误:由于,[$injector:moduler]未能实例化模块polmgr
- 角度错误: [$injector:模块rr] 由于以下原因无法实例化模块角度图表: 错误: [$injector:nom
- 由于以下原因,无法实例化模块 myApp:错误:[$injector:nomod] http://errors.angu
- 未捕获的错误: [$injector:modulerr] 无法实例化模块 toastr
- 无法实例化模块 ng材料
- 无法使用 JSPM 实例化模块 kendo.directives
- 使用 ui-view 导致无法实例化模块 ui.router
- 未捕获的错误: [$injector:modulerr] 由于以下原因,无法实例化模块 myApp: 错误: [$inj
- “由于”在角度和平均堆栈中“无法实例化模块'app'”
- 未捕获错误: [$injector:模块rr] 由于以下原因无法实例化模块启动器:错误: [$injector:模块rr
- Angular:[$injector:modulerr]未能实例化模块
- 未捕获错误:[$injector:moduler]由于以下原因无法实例化模块scheduleApp
- 未能实例化模块[$injector:unp]未知提供程序:$routeProvider
- $state.go无法实例化模块
- Angular--实例化模块失败
- AngularJS:未捕获错误:$injector:modulerr未能实例化模块
- 实例化模块失败错误:[$injector:unpr]
- 未捕获错误:[$injector:modulerr]实例化模块失败,原因是: