问题 Javascript捆绑在visual studio 2015上


System.Web.Optimization 上 Visual Studio 2013 给我们捆绑了javascript文件,其中最好的部分是允许我们使用单个文件或根据需要捆绑它们。它让调试成为一种快乐 从今起 Visual Studio 2015 我们有grunt和Task Runner,允许我捆绑和缩小但是在捆绑的js和原始文件之间切换只是痛苦

任何人都有解决方案在VS 2015上使用优化捆绑

谢谢


11543
2017-12-27 04:34


起源

我建议看看早午餐。方式更容易。你几乎可以做你以前做的一切。工作流程略有不同,但您仍然可以获得所需。关于dev / prod文件,当taghelpers被介绍时,这将更加容易。 - Bart Calixto


答案:


对于ASP.NET 5.0应用程序,VS2015中将不提供旧样式优化捆绑: https://github.com/aspnet/Home/issues/134 


3
2017-12-27 23:14



此链接也提供了良好的信息 aspnetmvc.readthedocs.org/projects/mvc/en/latest/migration/... - Tejasvi Hegde


[编辑] BundlerMinifier Extension可以作为Visual Studio扩展进行捆绑和缩小,与GULP,GRUNT或我最喜欢的WebPack相比,它具有有限的功能,但是如果你想要一个简单的解决方案 https://github.com/madskristensen/BundlerMinifier 是这一个

像ecm_dev这样的长话短说,老式优化捆绑将无法使用 这是正确的答案,但它没有帮助我解决我的捆绑和缩小问题,并持续几个月它推动我找到实际存在的替代品 微软推动我们使用的Bower,Gulp,Grunt

我选择Bower作为包经理 Bower是客户端文件上的nuget的替代品(css,js,less等..) 和Gulp作为构建任务op

一饮而尽,凉亭 帮助您拉动Bower套餐

主亭子 - 文件 在正确的位置提取Bower文件

一饮而尽,CONCAT 捆绑你的css或js文件(任何文件)

一饮而尽,丑化 缩小你的js文件

吞掉少 编译你的文件

一饮而尽,cssmin 缩小你的CSS文件

一饮而尽,注入 将你的css和javascript标签注入你的.html或.cshtml

Gulp实际上比System.Web.Optimization + Web Essential组合能力更强,但还有很多东西需要学习 这可能不是你要找的答案(当我一个月前第一次问这个问题时,它肯定不是我的)

但如果你正在寻找这个问题,那你就遇到了同样的问题 对于

在VS 2015上启用gulp: http://tom.cabanski.com/2014/11/23/using-gulp-with-asp-net-vnext-and-visual-studio-2015-preview/

gulp 101: http://ilikekillnerds.com/2014/07/how-to-basic-tasks-in-gulp-js/

我喜欢看视频: https://www.youtube.com/watch?v=dwSLFai8ovQ

在这里另一篇博文: http://mmercan.com/blog/?p=271


11
2018-03-16 11:12



你如何处理dev vs release?也就是说,在开发中你不需要捆绑和缩小的东西,在你发布的版本中。 - Jeff Walker Code Ranger
我用单个模板创建了2个带有gulp.inject的HTML文件,1个用于开发和调试的所有is和css文件没有bundle,第二个文件使用uglified和bundled文件进行发布,我也对发布版本进行了测试但是也没有很多调试 - Murat Mercan
我的解决方案与此非常相似,但我没有使用gulp-bower和main-bower-files,而是使用bower和bower-installer软件包的默认安装程序作为.bowerrc中的postinstall挂钩。 - sotn


阅读完所提供的文档和示例 这里,我立刻有了同样的问题。在捆绑和缩小步骤之后,文档只会说“现在引用文件”。

我做了很多研究,试图找到一种最佳实践,用于有条件地引用开发脚本和其他用于生产的脚本。我最喜欢的选项是:

  1. 使用 WireDep 要么 一饮而尽,注入 替换你的占位符值 使用动态定义的文件引用查看模板。您可以根据环境选择要包含在gulpfile中的不同文件,并有条件地选择是否捆绑。这适用于本地文件,但如果您想使用CDN则不是很好。
  2. 使用环境标记帮助程序有条件地定义文件引用。如果要从CDN引用文件,此选项非常有用,并且您可以选择在开发的本地文件和生产的CDN文件之间切换。

WireDep和gulp-inject的文档在各自的链接中提供。

要使用环境标记帮助程序,请确保_GlobalImport视图文件中包含以下行。

@addTagHelper "*, Microsoft.AspNet.Mvc.TagHelpers"

然后像这样使用它:

<environment names="Development">
    <script src="~/js/script1.js"></script>
    <script src="~/js/script2.js"></script>
    <script src="~/lib/big-script-library.js"></script>
</environment>
<environment names="Staging,Production">
    <script src="~/js/bundle/script.min.js"></script>
    <script src="http://www.some-cdn-resource.com/big-script-library.min.js"></script>
</environment>

环境名称对应于ASP.NET 5环境变量ASPNET_ENV。


1
2017-07-02 18:54





在我抱怨整整一天到Visual Studio 2015移动我的奶酪之后,我平静下来,就在前方找到如何以新的方式做到这一点,我现在回到喜欢vs2015 :)

如果您已经配置了所有文件,请不要担心不删除我们将使用它的现有配置

  1. 安装Web Essentials for 2115
  2. 选择要捆绑的文件,如果已经配置了文件并且选择了太多文件,我们可以稍后编辑配置
  3. 右键单击并选择“Bundle and Minifier” - “Bundle and Minify Files”(Shift-Alt-F)
  4. 将捆绑保存在您的首选位置(可能与前一个名称不同,因此您不要覆盖它)
  5. 第一个区别是你不会看到yourfile.js.bundle。相反,你的根文件夹中有一个新的bundleconfig.json
  6. 如果您打开文件,您现在可以看到,您只能为所有捆绑包配置一个配置文件
  7. 现在您可以从yourfile.bundle复制现有配置,这是XML,没关系
  8. 粘贴到新的bundleconfig.json中,然后删除所有 <file> </file> 标签

就是这样......你的新配置现在已经设置好了

你可以在这里获得有关新捆绑器的更多信息

https://visualstudiogallery.msdn.microsoft.com/9ec27da7-e24b-4d56-8064-fd7e88ac1c40

0
2017-07-27 15:56



此解决方案不再正确。 Bundler和Web Compiler已与核心Web Essentials插件分离,需要单独安装。 - PseudoNinja


在Web Essentials 2015之前,Bundler和Minifier都包含在核心插件中。随着Web Essentials 2015不再是这样,并且已经分离到自己的插件中(Visal Studio Marketplace上的插件

另外需要注意的是,转换到新插件可以使用 bundleconfig.json 在项目的根目录上代替个人 .bundle 配置文件。


0
2018-02-15 19:58