RequireJS-集中管理模块
RequireJS - Managing Modules Centrally
也许我在文档中遗漏了这一点,但现在开始。我有一个负责管理模块的核心控制器。到目前为止,我有大约20个模块,希望能够轻松地将它们配置为由核心加载。这意味着我需要一个大数组或大量调用。在文字对象中创建一个模块列表,然后从中加载模块的依赖项,这是可以接受的/好的做法吗?下面是我的意思的一个例子:
Config.js
modules = [
'moduleA',
'moduleB',
'moduleC'
];
Core.JS
define(
['config'],
function(config) {
// Somewhere in here I parse the list and require() each one ?
return {
startAll : function() {
console.log('starting all modules.');
// Then call a method common to all 'modules' in the list above.
}
}
};
}
);
我不确定这是否是一个好主意,因为我是RequireJS的新手,但我喜欢能够配置从一个地方加载哪些模块的想法。就我的模块而言,我指的是我更具体地编写的UI小部件。
我已经通过使用排序的"package"模式解决了同样的问题。基本上,这个包充当了我的小部件的门面。为了让你更好地了解我所说的内容,请考虑以下内容:
widgets.js:
define(['./widgets/button', ...], function(button) {
return {
button: button, // expose the widgets here
...
}
});
在这种情况下,按钮模块只返回一个函数。您可能需要调整外观以适应您的情况。
这种方案可以通过导入facade来简单地引用小部件。就我而言,这是非常有益的。我在其他一些地方也使用了同样的想法来包装模块,使其更易于使用。
不过,这样做会失去RequireJS的一些好处。这将在任何情况下加载所有的小部件,即使您现在不需要一些。当然,在这种情况下,你可以只更新外观,但这是额外的工作。。。
相关文章:
- Javascript,访问一个主要对象模块模式中的每个对象
- 如何在elfinder插件(一个文件管理器插件)上获得上传前事件
- 节点Js:How to catch a“;没有这样的文件或目录“;读取线模块出错
- 如何访问声音管理器2创建的声音对象
- 如何从模块链中调用函数.导出到节点中
- 尽管链接成功并已成功下载,但未找到NPM模块
- 节点是否需要模块传递带有方括号的arg?这是个错误吗
- JS编译器/包管理器,用于版本控制
- Firebase2(Firebase.google.com)推送通知-从外部管理
- ES6模块导入和依赖关系管理
- 如何管理不同的 Angular 模块依赖关系
- 如何在 joomla 模块管理中添加 php 代码
- 我们可以在角度应用程序中使用 requirejs 来仅管理/模块化应用程序的一部分吗?
- RequireJS-集中管理模块
- 使用Grunt管理AngularJS模块的版本和发布
- 如何管理Angular js依赖关系和模块化
- Javascript模块管理系统(dojo. js)需要选择呢?)
- 管理CommonJS模块的问题
- Angular 的错误消息“无法实例化模块”仅在资源管理器中
- 如何管理与后台进程相结合的模块实例