Javascript 协调ASP.NET脚本捆绑包和源映射

Javascript 协调ASP.NET脚本捆绑包和源映射,javascript,asp.net,bundling-and-minification,Javascript,Asp.net,Bundling And Minification,有没有办法设置默认的System.Web.Optimization.ScriptBundle,以便为捆绑和缩小的文件生成?除了在每次构建之前必须预先生成bundle和源代码映射之外,还有其他等效的解决方案吗?还没有内置任何东西,尽管我希望是这样。也就是说,如果您不必使用内置优化器,您可以选择WebEssentials,并使用它为您创建包含地图文件的包。在保存对源js文件的更改时,这些捆绑包将保持最新,因此您不需要在每次生成时重新创建捆绑包 安装web essentials后,右键单击任意脚本文件

有没有办法设置默认的
System.Web.Optimization.ScriptBundle
,以便为捆绑和缩小的文件生成?除了在每次构建之前必须预先生成bundle和源代码映射之外,还有其他等效的解决方案吗?

还没有内置任何东西,尽管我希望是这样。也就是说,如果您不必使用内置优化器,您可以选择WebEssentials,并使用它为您创建包含地图文件的包。在保存对源js文件的更改时,这些捆绑包将保持最新,因此您不需要在每次生成时重新创建捆绑包


安装web essentials后,右键单击任意脚本文件,选择上下文菜单顶部的web essentials选项,然后选择缩小javascript文件。或者,您可以选择多个javascript文件,并使用web essentials以相同的方式创建一个捆绑包。

看起来与此同时,某种类型的soul发布了一个定制类,它完全满足了我的需要


你可以在找到他的来源。

你找到解决方案了吗?我还没有找到现成的解决方案。一旦我有空闲时间,我会看看我是否能自己写些东西;如果你有VS2013,你可以使用新的任务浏览器VSIX插件。了解一种方法。我正在考虑让gulp在VS2012中不使用插件的情况下工作。主要的难点是在我的CI服务器上设置node.js、NPM等。使用
ScriptBundle
将创建一个
/bundles
目录并自动附加一个随机GUID,以便浏览器知道这是一个新的bundle版本,缓存被绕过。Web Essentials不支持缓存破坏,对吗?不幸的是,我现在无法告诉您,因为我已经转到rails中的另一个项目。我们在缓存解决方案中使用varnish,所以我们没有遇到这个问题,因为我们可以按需破坏缓存。我不记得web essentials是否使用某种guid为您破坏缓存……似乎是Mads(web essentials的作者)写道,@Kurt所说的完全不真实。无论如何,我已经更新了github repo,加入了一个测试网站。我鼓励他克隆repo,将调试器附加到
ScriptWithSourceMapBundleBuilder.BuildBundleContent(…)
方法中,并确保WebOptimization框架仅在第一次请求内容时调用IBundleBuilder.BuildBundleContent一次,此时,我还生成了.map文件。它的工作原理类似于一个符咒:)您现在可以从下面的NuGet包中获取源代码