2013-02-18 94 views
0

最近,我開始工作的機智需要JS,我已經出了問題。

,任何東西都裝了完善的,但是當我刷新有時頁面我得到以下錯誤

Uncaught ReferenceError: $ is not defined 

如果我再次刷新自己走了,如果我再一次刷新它的存在。

這裏是我的結構

requirejs.config({ 
    baseUrl: siteUrl + "assets/js", 

    paths: { 
     "jquery": "./libs/jquery", 
     "jquery-ui": "libs/jquery-ui", 
     "bootstrap": "libs/bootstrap", 
     "scripts": "scripts", 
     "plugins": "plugins", 
    }, 

    shim: { 

    'jquery-ui': { 
     deps: [ 'jquery' ], 
     exports: 'jquery-ui' 
    }, 
    'bootstrap': { 
     deps: [ 'jquery' ], 
     exports: 'bootstrap' 
    }, 

    'plugins/controls': { 
     deps: [ 'jquery', 'plugins/dialog2'], 
     exports: 'plugins/controls' 
    }, 

    'plugins/form': { 
     deps: [ 'jquery'], 
     exports: 'plugins/form' 
    }, 

    'plugins/dialog2': { 
     deps: [ 'jquery' ], 
     exports: 'plugins/dialog2' 
    }, 

    'plugins/chosen': { 
     deps: [ 'jquery' ], 
     exports: 'plugins/chosen' 
    }, 

    waitSeconds: 25, 
} 
}); 

/* 
    loading libs for every page 
*/ 
requirejs(['jquery', 'jquery-ui', 'bootstrap', 'plugins/chosen'], 
function($, chosen){ 
/* 
    loading global selectors and variables 
*/ 
$(function() { 
    $('.chzn-select').chosen(); 
}); 

}); 

讓我一個非常大的begiiner有了它,可以請人給我一個提示,或者解釋爲什麼我收到此錯誤?爲什麼在頁面刷新時發生這種情況?

回答

2

這無疑已經是一個問題:

requirejs(['jquery', 'jquery-ui', 'bootstrap', 'plugins/chosen'], 
function($, chosen){ 
... 

要加載的插件chosen,但實際上它是jquery-ui。由於您不使用它,請刪除參數(但不能從數組中刪除)。

我懷疑你的插件plugins/chosen(其中包含)出錯值shim

你寫了那些插件嗎?如果是這樣的話,只是包裝他們的代碼在define塊,你不需要再勻他們:

define(['jquery'], function ($) {...}); 

更多here

+0

把它從深層次看,事實是我使用requirejs多頁,看了看,出口和其他aswer你出,你在哪裏吧,我已經出口的問題,感謝您的幫助,現在它的好,謝謝你再次 – Side 2013-02-18 08:29:07

+0

請你詳細說明並指出我們需要做的改變才能使其工作? – 2015-02-03 11:25:05