【问题标题】:Bundling javascript that uses "revealing module pattern"捆绑使用“显示模块模式”的 javascript
【发布时间】:2016-11-27 18:43:49
【问题描述】:

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

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

  • 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。

【问题讨论】:

    标签: javascript python google-app-engine


    【解决方案1】:

    在过去 3 个小时里,我一直在阅读这篇文章,但我对 javascript 模块和捆绑存在的复杂性和变化感到有些震惊。

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-05-19
      • 2020-11-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多