我正在开展一个相当大的项目,我正在(慢慢地)找到requireJS的来龙去脉。我可以说我喜欢它(这个概念)并怀疑我是否会回到过去的方式。"也就是说,我想从一开始就养成良好的栖息地。
我有一个名为application.js
'use strict';
/**
* Primary application module.
*
* @param {function} jquery | jQuery library. http://jquery.com/
* @returns {object}
*
*/
define([
'jquery'
], function (jquery) {
var Application = {
/**
* Initialization method.
*
* @returns {void}
*
*/
initalize: function () {
// Start doing stuff...
}
};
return Application;
});
到目前为止一切顺利。 我'好奇的是,当我开始添加越来越多的模块时。让我们说在某些时候我有一个"联系我们"表单或其他模块,在启动时不一定需要加载,但需要在页面上提供" x"。
我会将它加载到初始依赖项列表中,如下所示:
'use strict';
/**
* Primary application module.
*
* @param {function} jquery | jQuery library. http://jquery.com/
* @param {object} moduleone | ModuleOne
* @returns {object}
*
*/
define([
'jquery'
'moduleone'
], function (jquery, ModuleOne) {
var Application = {
/**
* Initialization method.
*
* @returns {void}
*
*/
initalize: function () {
// Start doing stuff...
if ($('#moduleOneThing').length) {
// Do stuff with ModuleOne...
}
}
};
return Application;
});
或者最好像这样设置另一个define / require块:
'使用严格的';
/**
* Primary application module.
*
* @param {function} jquery | jQuery library. http://jquery.com/
* @param {object} moduleone | ModuleOne
* @returns {object}
*
*/
define([
'jquery'
], function (jquery) {
var Application = {
/**
* Initialization method.
*
* @returns {void}
*
*/
initalize: function () {
// Start doing stuff...
if ($('#moduleOneThing').length) {
require(['moduleone'], function (ModuleOne) {
// Do stuff with Module One...
});
}
}
};
return Application;
});
或许,或许我对所有事情都有所了解。无论如何,我想学习"正确的"从一开始的方式,希望不必在路上打破坏习惯。这是一个非常简单的例子,但复杂性将迅速增长,我希望在未来几周内正确设置以避免一堆蒸汽垃圾。
谢谢你的时间!