当前项目:
我最近不得不从头开始重建我的整个项目(从轨道上钻取,创建新项目,并将所有先前编辑/创建的文件手动移植到新项目中),但这个问题甚至出现在旧项目中。所以我很确定这不是我直接做的事情。
关键是,我目前正处于调试模式。是的,我知道,我需要最终进入发布模式,但即使直接通过Visual Studio工作,我也遇到了问题。
我的jquery-3.0.0.min.js
和jquery-3.0.0.js
文件正好在他们需要的位置,_reference.js
也列出了这些文件,但BundleConfig.cs
似乎无法找到正确的文件要包含的文件。我强制它包含的唯一方法是将{version}
替换为实际版本号。随着更新,这可能会很快变得难以维持。
建议?
编辑1:
我的BundleConfig.cs
相关部分:
bundles.Add(new ScriptBundle("~/bundles/script.jquery").Include(
"~/Scripts/jquery-{version}.min.js"));
我的_Layout.cshtml
:
@Scripts.Render("~/bundles/script.jquery")
不,名字中的圆点没有区别;我最初是在默认情况下使用它,但必须更改它以跟踪我正在添加的内容。
答案 0 :(得分:2)
注意:除非EnableOptimizations为true或者调试属性为 编译Web.config文件中的元素设置为false,文件 不会被捆绑或缩小。另外,.min版本 不会使用文件,将选择完整的调试版本。 EnableOptimizations会覆盖编译中的debug属性 Web.config文件中的元素
我对此进行了测试,只要您将上面的点更改为script.jquery中的破折号到script-jquery(不适用于点分隔符),这就行了。
请记住为调试模式启用优化。
BundleTable.EnableOptimizations = true;
所以以下内容应该有效:
BundleConfig.cs
:
bundles.Add(new ScriptBundle("~/bundles/script-jquery").Include(
"~/Scripts/jquery-{version}.min.js"));
//You will need the line below so already minified files can be picked up by the bundler in debug mode.
BundleTable.EnableOptimizations = true;
_Layout.cshtml
:
@Scripts.Render("~/bundles/script-jquery")
答案 1 :(得分:0)
添加
@Scripts.Render("~/bundles/script.jquery")
在layout.cshtml文件的head部分。 还要添加
@RenderSection("scripts", required: false)
这只是一个建议。我不确定它是否会起作用。