2015-11-23 27 views
1

我是requirejs的新手。我正在創建一個應用程序。我的問題是我擔心使用我的應用程序的requirejs版本和網頁上已經運行的requirejs版本之間的衝突。在單個頁面中加載兩個requireJs應用程序

所以要測試這個問題,我已經創建了兩個應用程序使用兩個不同的版本。我正在兩個應用程序中打印版本號。

目錄結構

/require 
-/libs 
--require.js(version 2.1.19) 
-main.js 
/require-test 
-/libs 
--require.js(version 2.1.20) 
-main-test.js 

我用下面的代碼來運行這兩個應用

<script type="text/javascript" src="/require-test/libs/require.js" data-main="/require-test/main-test" ></script> 

<script type="text/javascript" src="/require/libs/require.js" data-main="/require/main" > </script> 

兩個require.js文件越來越負載。 問題只是需求測試應用程序正在運行。它打印正確版本的require.js。 如果我切換應用程序的順序。第一款應用每次都會加載。 什麼是衝突?如何解決這個問題?

+0

無法在單個頁面上加載同一庫兩次。 – Cerbrus

+0

@Cerbrus對此有解決方法嗎?我有一個本機應用程序,網頁上將會出現衝突,這些網頁已經在其頁面上運行了requirejs應用程序。 – NeiL

回答

0

在2.x系列中,我不記得遇到過一個在以前的版本中工作的東西在新版本中不起作用的情況。因此,在2.x系列中加載所有最新版本的代碼應該沒有問題。

如果兩個應用程序使用相同庫的顯着不同版本(例如jQuery 1.3 vs 2.x),可能會成爲問題的是什麼。解決方案是使用contexts

1

使用require腳本一次,並在'data-main'文件中合併配置數據,以便爲一個文件中的兩個庫加載必要的內容。

+0

我沒有控制用戶頁面上的requirejs應用程序,我只能更改我的應用程序中的代碼。所以這兩個應用程序都需要自己的require腳本 – NeiL

+1

我認爲那就是問題所在,你應該單獨控制,如何使用你的應用程序的需求。我不認爲需要支持多個基地網址。 – Jay

相關問題