JavaScript 模块模式/组织/子模块

发布于 2024-09-30 12:52:50 字数 798 浏览 4 评论 0原文

  1. 我想知道是什么 不同之处 (优点/缺点)之间 以下模式。
  2. 如何创建基于子模块 关于模块模式?

我的目标是将我的 js 组织成多个文件,这些文件是延迟加载但具有一个命名空间。

例如:

SO.global(global.js) SO.global.registration (registration.js) <- 加载

var SO = function(){

    var CONSTANT = 'Z';

    function createX(){
      alert("create X");
    }

    function getY(){
       alert("get Y");
    }
    return{
      create:createX,
      get:getY
    }
}();

//SO.createX(); 
//SO.getY();

VS.

var SO = (function() {

    var CONSTANT = 'Z';

    function createX(){
      alert("create X");
    }

    function getY(){
       alert("get Y");
    }

    return {
      create:createX,
      get:getY
    }

} ());
  1. I would like to know what's the
    difference
    (advantages/disadvantages) between
    the following patterns.
  2. How can I create sub modules based
    on the module pattern?

My goal is to have my js organized into multiple files that are lazy loaded but have one namespace.

For example:

SO.global (global.js)
SO.global.registration (registration.js) <- load

var SO = function(){

    var CONSTANT = 'Z';

    function createX(){
      alert("create X");
    }

    function getY(){
       alert("get Y");
    }
    return{
      create:createX,
      get:getY
    }
}();

//SO.createX(); 
//SO.getY();

VS.

var SO = (function() {

    var CONSTANT = 'Z';

    function createX(){
      alert("create X");
    }

    function getY(){
       alert("get Y");
    }

    return {
      create:createX,
      get:getY
    }

} ());

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

何止钟意 2024-10-07 12:52:50

您是否考虑过Require.JS?它尝试提供以下解决方案:

  • 某种 #include/import/require
  • 加载嵌套依赖项的能力,
  • 方便开发人员使用,但随后由有助于部署的优化工具支持

Require.JS 实现 模块/异步定义 由 Common.JS 定义的规范

Have you considered Require.JS? It attempts to provide the following solution:

  • Some sort of #include/import/require
  • ability to load nested dependencies
  • ease of use for developer but then backed by an optimization tool that helps deployment

Require.JS implements the Module/Asynchronous Definition spec defined by Common.JS

绝影如岚 2024-10-07 12:52:50

这是一个很好的读物: http://snook.ca/archives/javascript/ no-love-for-module-pattern,另一个:http://lamb.cc /blog/category/javascript/

YUI 热衷于使用它,我也是如此,我还没有发现任何受到它限制的情况,并且它与自定义模块的 YUI 依赖加载器很好地集成。

(抱歉,我知道这不是完整的答案,但有一些未经篡改的信息供您使用)

Here's a good read: http://snook.ca/archives/javascript/no-love-for-module-pattern, and another: http://lamb.cc/blog/category/javascript/

YUI uses it avidly, as do I, I haven't found any situations where I was restricted by it, and it nicely integrates with the YUI dependency loader for custom Modules.

(Sorry, I realise this isn't a complete answer, but there's some untampered info for you)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文