2013-02-18 82 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