Javascript requireJS为一个插件工作,但不是另一个插件

Javascript requireJS为一个插件工作,但不是另一个插件,javascript,requirejs,Javascript,Requirejs,我之前问过,并得到了一个插件工作。现在,我正在尝试使用第一个插件的解决方案让另一个插件工作,但该解决方案不起作用 我正试图开始工作,但chrome控制台显示出以下错误: Uncaught ReferenceError: jQuery is not defined :3000/js/libs/textarea_auto_expand.js:41 我的代码是: require.config({ paths: { jquery: '/js/libs/jquery/jquery-2

我之前问过,并得到了一个插件工作。现在,我正在尝试使用第一个插件的解决方案让另一个插件工作,但该解决方案不起作用

我正试图开始工作,但chrome控制台显示出以下错误:

Uncaught ReferenceError: jQuery is not defined :3000/js/libs/textarea_auto_expand.js:41
我的代码是:

require.config({
    paths: {
      jquery: '/js/libs/jquery/jquery-2.0.3',
     underscore: '/js/libs/underscore/underscore-min',
     backbone: '/js/libs/backbone/backbone-min',
  //text: '/js/libs/text'
 templates: '../templates'
 ,sockets: '/socket.io/socket.io' 
 ,rangyInputs: '/js/libs/rangyinputs-jquery-1.1.2'
 , textareaAutoExpand: 'js/libs/textarea_auto_expand'

},
shim: {
  'Backbone': ['Underscore', 'jQuery'],
  'sockets': {exports: 'io'}, 
  'rangyinputs-jquery': {deps: ['jquery'], exports: '$'}, 
  'textarea_auto_expand': {deps: ['jquery'], exports: '$'}

} 
});

  require(['jquery', 'router', 'libs/a_myLib/keydownHandler', 'libs/textarea_auto_expand' ], 
function($, router, keydownHandler, ta_ae){
$("body").on("keydown", "textarea", keydownHandler);
router.initialize();
$("textarea").textareaAutoExpand();
})

问题是,您使用了路径名jquery,但在主干deps中指定了jquery

'Backbone': ['Underscore', 'jQuery'],
同样,这里是main.js的工作示例

index.html

<!doctype html>
<html>
    <head></head>
    <body>
        <script data-main="main" src="require.js"></script>
    </body>
</html>

main.js

require.config({
    paths : {
        jquery : 'jquery-2.0.3',
        'rangyinputs-jquery' : 'rangyinputs-jquery-1.1.2',
        textareaAutoExpand: 'js/libs/textarea_auto_expand'
    },
    shim : {
        'rangyinputs-jquery' : {deps : ['jquery'], exports : '$'},
        'textarea_auto_expand': {deps: ['jquery'], exports: '$'}
    }
});


require(['jquery', 'rangyinputs-jquery', 'textarea_auto_expand'], function($) {
    console.log('Type of $.fn.textareaAutoExpand ' + typeof $.fn.textareaAutoExpand );
    var t = $('<textarea/>').textareaAutoExpand();
    $('body').append(t);
});
require.config({
路径:{
jquery:'jquery-2.0.3',
“rangyinputs-jquery”:“rangyinputs-jquery-1.1.2”,
textareaAutoExpand:'js/libs/textarea\u auto\u expand'
},
垫片:{
“rangyinputs jquery”:{deps:['jquery'],exports:'$'},
'textarea_auto_expand':{deps:['jquery'],导出:'$'}
}
});
require(['jquery',rangyinputs jquery',textarea\u auto\u expand',函数($){
log($.fn.textareaAutoExpand的类型+$.fn.textareaAutoExpand的类型);
var t=$('').textareaAutoExpand();
$('body')。追加(t);
});

谢谢!这消除了控制台错误,但文本区域实际上没有扩展。更新了示例。在这种情况下,它们确实会扩张。这对我不起作用。我想这可能是因为我使用的文本区域是动态添加的,所以我尝试直接将一个添加到HTML中。不走运。我想我只是想切换到browserify,因为这是一个非常小的项目,不需要太高的性能。