2014-01-06 36 views
0

骨干是组织我们的javascript代码必须的,我一直在使用它在非singlepage应用程序,但到现在为止我已经构建我笨的应用程序如下:如何将requirejs用于非单页网页应用程序?

/
    /profile 
    /activity 
    /.... 

其中一些页面的分享JavaScript函数,骨干观点,骨干模型等

当我跨多个页面共享的JavaScript功能我在做什么是包括它在main.js

/profile 
    ...jquery.js 
    ...backbone.js 
    ...other stuff... 

...main.js <--- shared scripts 
...page.js <--- specific page script (e.g profile.js) 

的问题是WH我已经有一个模型,我想在另一个特定的JavaScript页面中使用(但不是在所有其他页面中),我必须将这段代码复制到other-page.js

这很烦人,而且更具扩展性和模块化的解决方案会很棒。 但我没有使用require.js,所以我在这里要求可能有助于组织我的代码的模式。

非常感谢。

回答

0

您可以使用requirejs模块和创建多页多个模块,并为常见的东西,一个共同的模块:

  • 每个网页都使用通用和特定页面模块的组合。
  • 所有页面共享相同的requirejs配置。
  • 优化构建之后,常用项目应该位于共享的公共层中,并且页面特定的模块应该位于页面特定的层中。

这种配置可能是(build.js):

{ 
    // ther 'regular' configuration, 
    modules: [{ 
     name: '../common',   
     include: ['jquery', 'app/lib', 'app/controller/Base','app/model/Base'] 
     },{ 
     name: '../page1', 
     include: ['app/main1'], 
     exclude: ['../common'] 
    },{ 
     name: '../page2', 
     include: ['app/main2'], 
     exclude: ['../common'] 
    }] 
} 

更多细节

退房 https://github.com/requirejs/example-multipage
相关问题