簡體   English   中英

在使用requirejs進行onload之前加載javascript文件

[英]load javascript file before onload with requirejs

我想使用requireJS。 但是,我有一個庫,需要在DOM之前加載。 但是,requireJS不會發生這種情況

<html>
    <head>
        <script data-main="/app" src="/require.js"></script>
    </head>

    <body>
        <bar-foo/>
    </body>
</html>

使用app.js

require.config({
    paths: {
        'customElement': '/customElement',
        'barfoo': '/barfoo'
    },
    shim: {
        barfoo: {
            deps: [ 'customElement' ]
        }
    }
});
define(['barfoo'], function() {
    ....
}

例如,如果我直接將此腳本直接加載到頭部(無需requireJS),則效果很好。 有require-config-option以便我可以立即(同步)加載特定文件嗎?

Requirejs以其異步功能而聞名。 但是,當由於依賴關系而需要某種順序來加載文件時,在require.config中有一個勻場配置:

填充程序:為較舊的傳統“瀏覽器全局變量”腳本配置依賴項,導出和自定義初始化,這些腳本不使用define()聲明依賴項並設置模塊值。

因此,假設您有一個依賴於Underscore和jQuery的主干應用程序,並且希望它們按該順序加載,那么您將:

require.config({
paths: {
    'Backbone': '/Backbone',
    'Underscore': '/Underscore',
    'jQuery': '/jQuery'
},
shim: {
    'Backbone': [ 'Underscore', 'jQuery' ]
}
});

require(['Backbone'], function(Backbone){
  //.....
});

因此,RequireJS允許我們使用shim配置來定義需要按正確順序加載的文件順序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM