Javascript 使用require.js加载原型增强功能

Javascript 使用require.js加载原型增强功能,javascript,module,requirejs,Javascript,Module,Requirejs,我正在使用require.js加载我的模块,这些模块通常运行良好。然而,我还有两个额外的问题: 1) 如果您有一个类似于helper类的模块,并且为现有原型定义了其他方法(例如String.isNullOrEmpty),您将如何包含它们?您希望避免使用对模块的引用 2) 使用jQuery也需要更改哪些内容。我知道jQuery是必需的,但我是否也需要传递$ 谢谢 2/对于jquery来说,它非常简单: require(["jquery", "jquery.alpha", "jquery.beta"

我正在使用require.js加载我的模块,这些模块通常运行良好。然而,我还有两个额外的问题:

1) 如果您有一个类似于helper类的模块,并且为现有原型定义了其他方法(例如
String.isNullOrEmpty
),您将如何包含它们?您希望避免使用对模块的引用

2) 使用jQuery也需要更改哪些内容。我知道jQuery是必需的,但我是否也需要传递
$


谢谢

2/对于jquery来说,它非常简单:

require(["jquery", "jquery.alpha", "jquery.beta"], function($) {
    //the jquery.alpha.js and jquery.beta.js plugins have been loaded.
    $(function() {
        $('body').alpha().beta();
    });
});
有关网站的更多信息:

1/在这种扩展的devs中,我在一个全局文件中完成了它,不需要模块代码。。。。我将其包含在我的应用程序中,并要求。。。虽然不完美,但工作很好

global.js

myglobalvar ="";
(...other global stuff...)
// Filename: app.js
define([
    (...) 
    'metrix.globals'
], function(.....){
myApp = {
(...)
myapp.js

myglobalvar ="";
(...other global stuff...)
// Filename: app.js
define([
    (...) 
    'metrix.globals'
], function(.....){
myApp = {
(...)
1) 如果您有一个类似于帮助器类的模块,并定义 现有原型的其他方法(例如 isNullOrEmpty),如何包含它们?你想避免 使用对模块的引用

如果需要扩展原型,则不要返回值并将其用作
require
的最后一个参数:

// helpers/string.js
define(function() {
    String.prototype.isNullOrEmpty = function() {
        // 
    }
});

// main.js
require(['moduleA', 'helpers/string'], function(moduleA) {

});
2) 使用jQuery也需要更改哪些内容。我明白 jQuery是必需的,但我是否也需要传递$

jQuery的唯一要求是配置正确的路径

require.config({
    paths: {
        jquery: 'path/to/jquery'
    }
});

require(['jquery', 'moduleB'], function($, moduleB) {
    // Use $.whatever
});
在我看来,没有必要使用它,因为这主要是在jQuery不支持AMD时使用的


现在,它确实存在,并且保持它的独立性允许您轻松地交换另一个库(想想Zepto)。

嗨,Jean Michael,让我们假设我想将我的html文件分为三个不同的文件:1个用于html,1个用于jquery(事件处理),1个用于javascript部分。你会推荐这个吗?如果你只有3个文件(每个文件一个),我认为它会很有效,不是做事情的最佳方式,而是“有效方式”;)