我正在尝试使用从NuGet导入的knockout.js,其中包含knockout-3.2.0.js
和knockout-3.2.0.debug.js
。我添加了一个像
bundles.Add(new ScriptBundle("~/bundles/knockout").Include(
"~/Scripts/knockout-{version}.js"));
然而,当我检查网页时,发现加载的包是knockout-3.2.0.debug.js
。
我读了以下问题
答案 0 :(得分:2)
这是因为你在脚本文件夹中有JS的调试版本。
如果你查看其他js,那里没有调试文件,所以它将使用jquery.1.7.0.js,但是如果你复制粘贴jquery.1.7.0.debug.js那么它会选择它。
如果你想使用knockout-3.2.0.js,那么删除js的调试版本。
您也可以访问web.config
<system.web>
<compilation debug="false" targetFramework="4.0" />
// set debug="true" or debug="false"
如果设置debug = true,则选择调试版本,或者如果debug为false,则选择其他版本的js。
答案 1 :(得分:2)
在Visual Studio中,您可以拥有多个解决方案配置(它是Visual Studio主菜单下的按钮变量中的下拉列表,默认情况下位于标准栏中)。默认情况下,在创建新项目(或解决方案)时,您有2个可用配置:Debug和Release。 (您也可以在Build&gt; Configuration Manager ...菜单中访问它。)
在构建解决方案或项目时(或在发布时),您必须选择以下配置之一:
如果选择Debug,则项目将使用调试信息进行编译,以便您可以将其附加到VS调试器并将正在运行的代码与源文件相关联。除此之外还会发生一些其他事情,例如,捆绑包将使用JS文件的调试版本,而不是生成缩小的捆绑包。这背后的想法是,如果您使用此配置,那是因为您要调试代码。
如果选择Release,则编译项目时不会显示调试信息。捆绑包使用脚本的正常版本或缩小版本,并且每个整个捆绑包都在一个缩小的文件中转换
因此,您需要做的是选择正确的配置。考虑到这会影响js捆绑和程序集的创建。有时,程序集中的代码甚至可以具有更好的性能,因为发行版本将在程序集的调试版本中进行一些优化,以允许调试它们。