使用 ASP.NET MVC捆绑和缩小时出现奇怪的JavaScript错误
本文关键字:错误 JavaScript 小时 缩小 NET ASP MVC 使用 | 更新日期: 2023-09-27 18:32:50
我正在使用ASP.NET MVC 5
与bundling and minification
一起使用,当我在web.config
中将调试设置为 false 时出现奇怪的错误。
我已经使用捆绑和缩小一段时间了,昨晚才第一次看到这个错误,因为我的下拉菜单不起作用。我无法确认这是否有效,因为我从未检查过文件。
这是部分错误:
/* Minification failed. Returning unminified contents.
(2,1): run-time error CSS1019: Unexpected token, found '!'
(2,2): run-time error CSS1019: Unexpected token, found 'function('
(2,14): run-time error CSS1031: Expected selector, found ')'
(2,14): run-time error CSS1025: Expected comma or open brace, found ')'
(2,212): run-time error CSS1019: Unexpected token, found '('
(2,213): run-time error CSS1019: Unexpected token, found '"undefined"'
(2,224): run-time error CSS1019: Unexpected token, found '!'
(2,225): run-time error CSS1019: Unexpected token, found '='
(2,239): run-time error CSS1031: Expected selector, found '?'
(2,239): run-time error CSS1025: Expected comma or open brace, found '?'
(3): Scanner error CSS1002: Unterminated string: '></a>","#"===a.firstChild.getAttribute("href")})||jb("type|href|height|width",function(a,b,c){return c...
所以我决定创建一个独立的 MVC 项目 ASP.NET 最少,只需使用 jQuery 2.1.1
.我仍然收到错误。所以我认为如果我使用jQuery 1.11.1
它就会消失.我仍然收到同样的错误。
为什么我会收到此错误?这显然是jQuery文件中的内容。我在Bootstrap的JavaScript文件中遇到了同样的错误。
什么时候最好使用捆绑和缩小?只使用您自己的 JavaScript 和 CSS 文件?您是否也应该捆绑和缩小第三方文件,或者更确切地说,只是使用他们的 CDN?我在工作时在防火墙后面,所以使用外部 CDN 对我来说不是一个选择。
这是我的web.config:
<system.web>
<compilation targetFramework="4.5.2" />
<httpRuntime targetFramework="4.5.2" />
</system.web>
我的_Layout文件:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>My Website</title>
</head>
<body>
@RenderBody()
@Scripts.Render("~/bundles/js")
</body>
</html>
还有我的 BundleConfig.cs 文件:
public class BundleConfig
{
public static void RegisterBundles(BundleCollection bundles)
{
bundles.Add(new StyleBundle("~/bundles/js").Include(
"~/Scripts/jquery-{version}.js"));
}
}
生成的输出为:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>My Website</title>
</head>
<body>
<h2>Index</h2>
<script src="/bundles/js?v=7gm4LP0WuTab97QPOJSizw2PGm8jrBl7HRdnANRLbBY1"></script>
</body>
</html>
它也有以下 2 个文件的问题:
- HTML5SHIV.js
- 回应.js
所以问题是,是无效的 JavaScript 错误还是充满错误的捆绑和缩小?
存在以下问题:
bundles.Add(new StyleBundle("~/bundles/js").Include(
"~/Scripts/jquery-{version}.js"));
根据需要使用 ScriptBundle
而不是StyleBundle
js 文件:
bundles.Add(new ScriptBundle("~/bundles/js").Include(
"~/Scripts/jquery-{version}.js"
));
您可能已将项目中的StyleBundle
代码复制到普通MVC
项目中。