2014-01-06 38 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
相關問題