我在 JavaScript 中创建了一个模块模式,因此我可以创建模块并在需要时使用它们。 但我不知道如何将其转换为 Require.js。每个模块,即 Trades.toggleMenu、Trades.tabs 等,通常位于单独的文件中。但我只是把它们放在这里是为了让故事简短为SO。请帮忙:
JS:
(function (window, $) {
var Trades = (function(Trades) {
// All modules should be initialised here. For produdction, use a module dependency library, e.g. require.js
Trades.main = function() {
this.toggleMenu();
this.validation.run($('#registration-form, #homeowner-login-form, #tradesmen-login-form'));
this.tabs();
};
Trades.toggleMenu = function() {
};
Trades.tabs = function(el) {
};
Trades.vaildation = function(el) {
return {
run: function (formName) {
//do something...
}
};
};
return Trades;
}(Trades || {}));
window.Trades = Trades;
$(function() { Trades.main(); });
}(window, jQuery));
非常感谢
最佳答案
您将有一个名为 Trades.js 的文件,它定义了“Trades”模块:
define(["jquery"], function ($) {
var Trades = (function(Trades) {
...
return Trades;
}(Trades || {}));
return Trades;
});
您可以按如下方式使用它:
require(["jquery", "Trades"], function ($, Trades) {
$(function() {
Trades.main();
});
});
jQuery 可以通过使用 RequireJS/jQuery 组合文件 ( http://requirejs.org/docs/jquery.html#get ) 或通过定义 jquery 的路径来配置为模块,如本答案 ( Require.JS shim config global scope? )。
关于javascript - 如何将此模块模式转换为 require.js?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16085731/