JQuery-在本地工作,但未定义$,仅在部署的站点上定义
JQuery - works locally but $ is not defined but only on deployed site
在MVC中构建一个站点,在布局文件中包含jQuery,如下所示:
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>@ViewBag.Title</title>
@Scripts.Render("~/bundles/jquery")
@Styles.Render("~/Content/css")
</head>
<body>
<!-- content -->
</body>
</html>
JQuery是通过nuget引用的,捆绑如下:
public class BundleConfig
{
bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
"~/Scripts/jquery-{version}.js",
"~/Scripts/jquery-ui.min.js",
"~/Scripts/stickyfill.js"));
}
在Visual Studio中本地运行该网站效果很好。
当我部署到IIS并尝试运行该站点时,我会遇到可怕的Uncaught ReferenceError: jQuery is not defined
错误。
我检查的第一件事是,jQuery包可以通过部署页面试图使用的地址获得:
/bundles/jquery?v=[a token]
就是这样。你甚至可以在Chrome开发工具的捆绑包中看到它的引用。值得注意的是,css通过相同的机制和令牌进行部署,运行良好。
我还找到了JQuery-$没有定义的问题的答案,要么省略了它们,要么尝试了它们,但都无济于事。
我唯一能想到的是,它在对jQuery(document).ready()
的初始调用之前没有加载——这就是为什么我将捆绑包移到<head>
标签中。但这无济于事,我不知道还能做些什么来减缓或等待页面加载。
这到底还能是什么?
编辑:Somone要求渲染页面的标题:
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>[the title]</title>
<script src="/bundles/jquery?v=[a token]"></script>
<link href="/Content/css?v=[a token]" rel="stylesheet"/>
</head>
试试这个:
public class BundleConfig
{
bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
"~/Scripts/jquery-1.8.2.min.js",
"~/Scripts/jquery-ui.min.js",
"~/Scripts/stickyfill.js"));
}
相关文章:
- 用嵌套函数和默认函数定义函数
- Dojo不解析自定义小部件的模板html中的小部件声明性
- 为什么“;未定义的“;在JavaScript中结束循环
- 要求未定义JS回调参数
- 控制台返回var不是't定义,但它是
- 在自定义mean.io包中使用angular-chart.js作为依赖项
- 如何检查管道中未定义的项目
- TypeError:无法读取属性'推'未定义的JavaScript
- JQuery-在本地工作,但未定义$,仅在部署的站点上定义
- Ionic应用程序在部署后给出ReferenceError:未定义Promise
- 在 Meteor.com 上部署后,集合将变为未定义
- “引用错误:未定义压缩”时将 Node.js 应用程序部署到 Heroku
- 在将node.js应用程序部署到Heroku时,如何执行自定义构建脚本
- Meteor:部署错误,MailChimp未定义
- Angular Formly自定义类型控制器在部署时失败
- 为什么JSON在访问部署的网站时未定义
- 部署时自定义操作url错误:部署步骤中发生错误
- 在将Frisby测试部署到AWS Lambda时,没有定义Jasmine
- 参数& # 39;HomeCtrl& # 39;不是一个函数,在使用Meteor-Up部署后未定义
- Highchart在服务器上部署时没有定义错误