通过导入ES6模块来加载和使用旧版JS模块(例如IIFE)
对于具有旧版本的应用程序中的某些库代码,我具有IIFE函数,这些代码需要适用于IE10 +(无需加载ES6模块等)。 但是,我开始开发一个将使用ES6和TypeScript的React应用,并且我想重用我已经拥有的代码而不复制文件。经过一番研究,我发现我想使用UMD模式来允许这些库文件既可以作为<script src=*>导入工作,又可以让React应用程序通过ES6模块加载来导入它们。 我想出了以下转换: var Utils = (function(){ var self = { MyFunction: function(){ console.log("MyFunction"); } }; return self; })(); 至 (function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : typeof define === 'function' && define.amd ? define(['exports'], factory) : (factory((global.Utils = …