javascript - 如何将此模块模式转换为 require.js?

标签 javascript module requirejs

我在 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/

相关文章:

javascript - 如何在不使用 .on() 的情况下在悬停期间执行 jQuery 脚本?

linux - 如何在内核模式(Linux)下从串口读取数据(字符)?

javascript - 与 Rest 一起使用的主干集合不起作用

javascript - Electron - 找不到网络路径

javascript - js正则表达式查找字符串中的多个子字符串

javascript - 从 XHR 请求中获取 BLOB 数据

node.js - 使用 module.exports 的 NodeJS 回调

perl - 在简单的 Perl 教程中为模块添加包含路径

javascript - 需要 js 加载缓慢才能为其他脚本全局注册 jquery

http - 需要JS文本!插件和加载超时