Jquery 将代码与依赖项合并?

Jquery 将代码与依赖项合并?,jquery,html,javascript,underscore.js,Jquery,Html,Javascript,Underscore.js,这可能很简单,但我必须说我对这个话题有点困惑 我正在基于两个流行的库编写代码: jQuery 下划线.js 我只是想知道隔离代码和防止冲突的最佳方法是什么,以及如何将代码与其依赖项合并? 通过合并,我的意思是将它们放在同一个文件中。您可以很容易地将它们放在同一个文件中,因为它们变成全局的只有窗口。、窗口。$和窗口.jQuery。其他变量和函数包装在本地范围内,因此不会有冲突 编辑:您自己的代码也可以放在同一个文件中。如果您希望删除全局变量,jQuery和下划线都有一个无冲突的方法,用它们的

这可能很简单,但我必须说我对这个话题有点困惑

我正在基于两个流行的库编写代码:

  • jQuery
  • 下划线.js
我只是想知道隔离代码和防止冲突的最佳方法是什么,以及如何将代码与其依赖项合并?


通过合并,我的意思是将它们放在同一个文件中。

您可以很容易地将它们放在同一个文件中,因为它们变成全局的只有
窗口。
窗口。$
窗口.jQuery
。其他变量和函数包装在本地范围内,因此不会有冲突


编辑:您自己的代码也可以放在同一个文件中。如果您希望删除全局变量,jQuery和下划线都有一个无冲突的方法,用它们的旧值替换全局变量(通常是
未定义的
)。您可以将代码包装在自己的本地范围内,这样就不会再有问题了:

// jQuery and Underscore source here

// You code here, wrapped in a self-executing function:

(function($, _){

  // here you can add your code:
  $('#test').text('jQuery works');

  _(3).times(function(){
    alert('Underscore works' );
  });

})(jQuery.noConflict(true), _.noConflict());

// no jQuery nor Underscore here:

alert(typeof jQuery, typeof $, typeof _);
这看起来很棘手,但让我很快解释一下。您可以在定义函数后立即执行它,如下所示:

(function(){
  alert('I am being executed');
})();  // <-- basically how you call a function normally: func();

$.noConflict()
..noConflict()
都删除全局变量并返回对jQuery和下划线变量的引用。因此,您可以将这些作为参数传递到自动执行函数中,大家都很高兴(:

您可以很容易地将它们放在同一个文件中,因为它们变成全局的只有
窗口、
窗口、$
窗口.jQuery
。其他变量和函数包装在局部范围内,因此不会有冲突


编辑:您自己的代码也可以放在同一个文件中。如果您希望删除全局变量,jQuery和下划线都有一个无冲突的方法,该方法将全局变量替换为它们的旧值(通常是
未定义的
)。您可以将代码包装在您自己的本地作用域中,这样就不会再有问题了:

// jQuery and Underscore source here

// You code here, wrapped in a self-executing function:

(function($, _){

  // here you can add your code:
  $('#test').text('jQuery works');

  _(3).times(function(){
    alert('Underscore works' );
  });

})(jQuery.noConflict(true), _.noConflict());

// no jQuery nor Underscore here:

alert(typeof jQuery, typeof $, typeof _);
这看起来很棘手,但让我很快解释一下。您可以在定义函数后立即执行它,如下所示:

(function(){
  alert('I am being executed');
})();  // <-- basically how you call a function normally: func();

$.noConflict()
.noConflict()
都删除全局变量,并返回对jQuery和下划线变量的引用。因此,您可以将它们作为参数传递到自执行函数中,大家都很高兴(:

我自己的代码呢?粘贴到同一个文件中不会产生任何问题?我也希望避免$和uu全球化。谢谢你的帮助!哦,哇!非常感谢,非常有用!谢谢你的圣诞礼物:)圣诞快乐我自己的代码呢?将其粘贴到同一个文件中不会产生任何问题?我也希望避免$and u成为全球性的。谢谢你的帮助!哇!非常感谢,非常有用!谢谢你的圣诞礼物:)圣诞快乐