Javascript Jquery$未通过使用shim的requirejs定义
在尝试添加插件/插件时,我发现jQuery没有被找到Javascript Jquery$未通过使用shim的requirejs定义,javascript,jquery,requirejs,Javascript,Jquery,Requirejs,在尝试添加插件/插件时,我发现jQuery没有被找到 TypeError: $ is undefined $.fn.sketch = function () { 我在ASP.net中有以下项目布局 <script type="text/javascript" data-main="<%= ResolveUrl("~/Scripts/VideoApp/")%>app" src="<%= ResolveUrl("~/Scripts/VideoApp/app/require.
TypeError: $ is undefined
$.fn.sketch = function () {
我在ASP.net中有以下项目布局
<script type="text/javascript" data-main="<%= ResolveUrl("~/Scripts/VideoApp/")%>app" src="<%= ResolveUrl("~/Scripts/VideoApp/app/require.js") %>"></script>
我没有发现任何404错误文件,似乎jQuery没有加载,我已经尝试将jQuery:'jQuery-1.9.1.min'更改为google托管库
jquery:'//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min,但没有成功
如果有人知道我的设置不正确,将不胜感激 它很可能需要包含在包含优先级的更高位置。如果您的任何脚本使用jquery,您将需要首先加载jquery。我的理解是,JS在需要之前异步加载脚本文件。jquery:'jquery-1.9.1.min'定义了在哪里可以找到jquery,而shim定义定义了在加载sketch.js或spectrum.js之前需要加载jquery。如果您有更多关于我应该如何修复优先级的信息,考虑到我使用的是requiredjs库,我将不胜感激!另外两点-1您的项目包括require.js,但您指出require.config/shim信息在app.js中……您的require.js是否调用/引用app.js?2我认为您的垫片周围缺少引号,应该是垫片。感谢@ethorn10尝试修改垫片属性名称,尽管问题相同。文档似乎可以互换使用字符串或名称,文档中说可以调用require.js和app.js作为标记上的数据主属性。它肯定加载正确,因为我可以从应用程序执行代码。js@ethorn10绝对没有必要引用shim。
require.config({
"baseUrl": "/Scripts/VideoApp/lib",
"paths": {
"jquery": 'jquery-1.9.1.min',
"app": "../app"
},
shim: {
"spectrum": {
deps: ['jquery'],
exports: 'spectrum'
},
"Sketch": {
deps: ['jquery'],
exports: 'sketch'
}
}
});
require(['domReady'], function (domReady) {
domReady(function () {
require(['jquery', 'spectrum', 'Sketch'], function ($) {
$('#videoSketch').sketch();
});
});
});