捆绑使用"显示模块模式"

时间:2016-11-27 18:43:49

标签: javascript python google-app-engine

我在GAE Python应用程序中使用了两个不同的javascript文件,每个文件都依赖于我不想在两个不同的地方重复的常用功能。

在我的开发环境中,我想要三个文件:

  • script1.js
  • script2.js
  • library.js

script1.jsscript2.js中的每一个都需要library.js中的功能。

我的javascript使用"揭示模块模式",例如,

var my_module = (function() {
    var my = {};
    my.do_stuff = function() {...};
    return my;
})();

但在生产中,我希望客户能够下载一个所有需要javascript的静态文件。例如,客户可以下载script1all.js,其中包含script1.jslibrary.js

如何在GAE / P中实现此功能?是否有现成的工具可以做到这一点?

我一直在阅读javascript包管理器(npm,bower等),但这些似乎与处理第三方javascript有关,我只需要打包自己的javascript。

1 个答案:

答案 0 :(得分:1)

我花了最近3个小时阅读这篇文章,我对javascript模块和捆绑存在的复杂性和变化感到震惊。

我找到了像Browserify和Webpack这样的工具,但是当我了解它们时,我不得不刷新自己的javascript模块。这是了解javascript module options的绝佳资源。

对于我的javascript,我一直在使用链接文章中讨论的“揭示模块模式”。对于这种类型的javascript模块,似乎简单的连接和缩小方法是一个非常好的解决方案。这是另一篇展示bundling options的文章。

因此,经过数小时的自我教育,我将采用简单的连接和缩小方法,最终我将升级到ES6。

P.S。:answer对于理解人们可能需要的不同类别的javascript处理也非常有帮助。