我開始學習javascript/jQuery並希望使用RequireJS。以下是我的文件層次:通過RequireJS加載本地jQuery,jQuery UI和其他文件
my_project/
├── index.php
└── scripts/
├── require.js
├── loader.js
├── app/
│ ├── app.js // this is where I'd like to write functions for the app
│ └── helper/ // this folder is empty for now
└── lib/
├── jquery/
│ └── 1.10.2/
│ └── jquery.min.js
└── jqueryui/
└── 1.10.3/
└── jquery-ui.min.js
我通過與此相關的RequireJS文檔和StackOverflow的職位(example)讀取和設置RequireJS CONFIGS是像這個 -
在my_project/index.php
,我有
<script data-main="scripts/loader.js" src="scripts/require.js"></script>
在scripts/loader.js
,我有
requirejs.config({
baseUrl: 'scripts/lib',
enforceDefine: true,
paths: {
"app": '../app', // mapping for my 'scripts/app/' directory
"jquery": [
'jquery/1.10.2/jquery.min',
//'//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min', this works
],
"jquery-ui": [
'jqueryui/1.10.3/jquery-ui.min',
//'//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min', this works
],
},
shim: {
"jquery-ui": {
exports: "$",
deps: ["jquery"],
},
},
});
在scripts/app/app.js
,我有
define(['jquery-ui'], function() {
.... // some js code here
}
每當我測試index.php
,我看到(在Firebug控制檯)Error: No define call for loader
,Error: No define call for jquery
和Error: Load timeout for modules: jquery-ui
。我可以通過將本地jQuery和jQueryUI庫與基於CDN的CDN(如上面顯示爲註釋)一樣,消除最後兩個錯誤。
我想知道如何從本地文件加載jQuery和jQueryUI的沒有得到Error: No define call for jquery
和Error: Load timeout for modules: jquery-ui
。
對不起,如果這是一個很長的職位。正如我上面提到的,我仍然在學習JavaScript,並且盡我所能保持我的代碼清潔。如果有經驗的編碼人員可以幫助我回答上述任何問題,我將非常感謝他們的幫助。謝謝。
謝謝@kadumel。我想在閱讀了你給我的文檔後我發現了這個問題。但我面臨一個新的問題,這是問這裏:http://stackoverflow.com/questions/17636642/referenceerror-jquery-is-not-defined-requiredjs-when-loading-from-local-jquery 我會就像你有時間看看它,並幫助我找出它爲什麼會導致錯誤。再次感謝! – user1330974
當你沒有得到答案時,你會在這裏得到更好的幫助,然後回來稍微改變它並回答自己的問題,只是FYI –
如果你對我改變問題感到不安,我很抱歉。我沒有得到答案後更新了原文(有三個問題),因爲我怕人們跳過它,因爲它太長而且太多。我的編輯沒有發佈你的答案。我回答我的問題,承認我犯了一個錯誤(不包括'requirejs([「app/app」]);'),這就是上述問題的解決辦法。但是,我也一定會給你信貸指導我正確的資源。對於誤會感到抱歉。希望你繼續爲StackOverflow上的其他人提供幫助 – user1330974