Jquery requireJS和名称空间

Jquery requireJS和名称空间,jquery,requirejs,Jquery,Requirejs,我试图使用带有requireJS的名称空间,但遇到了一些问题。到目前为止,我已经: require.config({ paths: { jquery: [ 'http://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min' ], jqueryUI: 'http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.23/jquery-ui.

我试图使用带有
requireJS
的名称空间,但遇到了一些问题。到目前为止,我已经:

require.config({
  paths: {
      jquery: [
          'http://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min'
        ],
      jqueryUI: 'http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.23/jquery-ui.min',
      main: 'http://mysite.com/main'
  }
});
然后我试着加载

require(['jquery', 'main'], function($) {
    myApp.core.init();
});
其中
main.js
包含我的名称空间变量,如
myApp
——但是它告诉我们jQuery对于
myApp
是未定义的,这意味着我的所有代码都在

(function(myApp, $, undefined) {

}(window.myApp = window.myApp || {}, jQuery));

这行吗?有人能帮忙吗?

你可能应该仔细阅读一下。要使其正常工作,您需要将main.js重新分解为模块定义。比如说

define(['jquery'], function($) {

    // Setup my module

    return {
        // return an object, or function etc
    }

});

// Nicer way - http://requirejs.org/docs/whyamd.html#sugar
define(function(require){

    var $ = require('jquery');

    return {

    }

});
如果,由于某种原因,您无法修改RequireJS中的main.js代码。例如:

require.config({
    shim: {
        'main': {
            deps: ['jquery'],
            exports: 'myApp'
        }
    }
});
这是一个模块模板(始终使用类似的内容)


这是真的密码吗?如果是,那么您使用的是错误的requirejs。。。
define(function(require){
  var $ = require('jquery');

  var myApp = function(){
  };

  // etc...

  return myApp;
}