2017-07-21 68 views
0

我必須通過bundle將一些腳本移動到同步加載,並且我希望將這些腳本設置爲已定義,因此require.js在下次調用時不會要求它們的服務器。在require中已經定義了標記腳本

讓我解釋一下:

  1. 我被要求無處不在,一些腳本,例如i18n和jquery。所以,我有hundreeds如果調用一切圍繞項目,如

require(['jquery', 'i18n', 'commonjs', ...

  • 我捆綁'jquery''i18n''commonjs'到一個腳本core.js現在插入佈局<script src="/core.js"></script>
  • jquer,i18n的所有功能現在都可以全局訪問,而不需要它們。我想具體說reuire.js,這些腳本已經加載,應該做的事情是bundles

    我讀過article有關使用包和tryied把 捆在我的配置文件 bundles: { 'core': ['jquery', 'i18n', 'commonjs'] }

    ,但它不工作,有很多錯誤的下降,我的理解只是個使用捆綁的方法是使用優化js和文件夾的r.js。

    實際上,我所需要的是將一些腳本設置爲已爲require.js加載。它是一個骯髒的方式來做到這一點?

    回答

    1

    沒有配置選項將腳本標記爲已定義。你可以做的是用模塊名稱和適當的返回值自己調用define。舉例來說,如果你有一個script元素你開始加載通過RequireJS任何模塊之前加載了jQuery,你可以這樣做:

    define("jquery", [], function() { 
        return $; 
    }); 
    

    上面的代碼使它如此,每當任何模塊所需的模塊jquery,他們得到的值的$。我通常會在我致電require.config之前放置這樣的模塊。這對他們來說只是一個方便的地方。

    +0

    這正是我需要的。謝謝! –

    相關問題