我正在考慮將RequireJS集成到現有的不使用AMD的Web應用程序中。我將包含我的腳本的頁面將包含許多腳本,包括jQuery和一些常見的內部腳本。將RequireJS配置爲不重新加載已包含在第
我很好奇,如果我在加載了傳統的<script>
標記後,將這些腳本中的一些加載到了Require,會發生什麼情況。這裏是我的嘗試:
的index.html
<script src="js/lib/jquery.js"></script>
<script src="js/lib/require.js" data-main="js/init.js"></script>
init.js
require.config({
paths: {
jquery: "js/lib/jquery"
});
require(["jquery"], function($) {
//Do stuff
});
我的希望是,需要將足夠聰明地看到,js/lib/jquery.js
已經加載的頁面上,並將其用作模塊,而不是重新加載腳本。然後我檢查需要有實際上的頁面內容,發現重新加載腳本:
<script type="text/javascript" src="/js/libs/jquery.js"></script>
...
<script type="text/javascript" charset="utf-8" async="" data-requirecontext="_" data-requiremodule="jquery" src="/js/libs/jquery.js"></script>
我明白,這可能是一個有點遙不可及的期望要求,以足夠的智慧做什麼,我希望它會,但如果以這種方式工作,那麼對於將Require與現有網站集成的開發者來說,這將非常方便。這樣,您就可以將原有腳本移動到AMD模塊中,而無需更改您的需求代碼。不過,也許我只是在做夢。 :)
任何人有任何想法如何做到這一點?
啊,是的,是的,jQuery確實這樣做'define.amd'檢查這些天。是的,這對jQuery來說是一個很好的方式,但是你是對的 - 它不會真正幫助我使用內部腳本。 :/ – brettjonesdev