将IIFE转换为module.exports(并使用Webpack)

时间:2017-07-10 14:56:02

标签: javascript webpack iife

我想开始使用Webpack。

目前,在一个项目中,我有下一行:

<script defer src="https://cdnjs.cloudflare.com/ajax/libs/modernizr/2.8.3/modernizr.js"></script>
<script defer src="//ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<script defer src="/js/doubletaptogo.js"></script>
<script defer src="/js/init.js"></script>

我想以下内容:

  • 我不应下载modernizr jquery,因为两者都是从各自的CDN下载的。
  • DoubleTapToGo也是一个库,它是一个缩小的本地文件。它通过immediately invoked function expression表达。所以我应该使用module将其转换为module.exports,但我不知道该如何做,如果我真的应该:

  • init.js应该要求DoubleTapToGo作为模块,只生成一个文件,最后有2个库和1个本地JS文件。

请指正。 提前谢谢。

doubletaptogo.js具有以下内容:

;(function($,window,document,undefined){$.fn.doubleTapToGo=function(params){if(!('ontouchstart'in window)&&!navigator.msMaxTouchPoints&&!navigator.userAgent.toLowerCase().match(/windows phone os 7/i))return false;this.each(function(){var curItem=false;$(this).on('click',function(e){var item=$(this);if(item[0]!=curItem[0]){e.preventDefault();curItem=item;}});$(document).on('click touchstart MSPointerDown',function(e){var resetItem=true,parents=$(e.target).parents();for(var i=0;i<parents.length;i++)if(parents[i]==curItem[0])resetItem=false;if(resetItem)curItem=false;});});return this;};})(jQuery,window,document);

0 个答案:

没有答案