2015-10-22 69 views
0

我正在使用requireJS來加載腳本。在加載.mu(鬍鬚)文件時,require會在這些路徑的末尾添加一個.js擴展名。然而,這隻發生在IE瀏覽器,而Chrome和FF工作正常。我翻閱了一些資料,找到了與這個問題有關的答案。在其中一種情況下,其要添加的noext插件:如何防止require.js在鬍子文件末尾添加.js擴展名

require.config({ 
    paths: { 
    'signalr-hubs': '/signalr/hubs?noext' 
    } 
}); 

可以添加以解決此問題。但我不知道是否只添加上面的這條線將有助於解決問題。我是否需要添加任何依賴插件或任何東西來使其工作?

這裏是我main.js:

require.config({ 
paths: { 
    'signalr-hubs': '/signalr/hubs?noext', 
    'text': 'path-to-text/text', 
    'underscore': 'path-to-underscore/underscore', 
    'jquery': 'path-to-jquery/jquery', 
    'mustache':'path-to-mustache/mustache' 
} 
}); 

任何ideass? 謝謝!

回答

0

Requirejs是爲了加載js文件,這就是爲什麼js擴展是假定的。

要加載任何您需要的其他內容類型,請使用插件。而不是將資源傳遞給requirejs,而是將其傳遞給插件。

由於小鬍子有點像Handlebars的父母,所以您可能想試試requirejs Handlebars插件。

https://github.com/SlexAxton/require-handlebars-plugin

你想補充

{ 
    ... 
    'hbs' : 'vendor/requirejs-handlebars/hbs' 
    ... 
} 

到您的路徑配置。

最終,加載模板

require(['hbs!template/something'], function(somethingFn) { 
    ... 
}); 

你看,你傳遞給requirejs資源是哈佛商學院(hbs.js),並傳遞給hbs.js資源是模板文本文件。

Hbs插件假定擴展名爲.hbs,但它是可配置的。

+0

謝謝,但我很困惑...所以將添加句柄防止在加載文件時在最後添加.js擴展名..?上述插件沒有幫助.. – user1234

+0

沒有。沒有什麼會阻止添加js到資源路徑。但是當你使用插件時,無論什麼事情發生!是插件的參數,而不是requirejs,因此可以自由使用另一個擴展 – amenadiel

+0

ohh ...抱歉,但仍不清楚如何避免將.js添加到.mu文件的末尾。它呈現所有.js文件罰款,但是隻渲染鬍鬚文件時出現問題,它只發生在Internet Explorer ..其他瀏覽器罰款!什麼是最好的方法??謝謝 – user1234

相關問題