在VisualStudio中自动化JavaScript AMD绑定和缩小

在VisualStudio中自动化JavaScript AMD绑定和缩小,javascript,visual-studio,backbone.js,requirejs,amd,Javascript,Visual Studio,Backbone.js,Requirejs,Amd,我正在从事一个新项目,其中性能和优化是绝对关键。我的客户机完全是用JavaScript编写的:依赖关系由RequireJS管理,主干中有MVC风格的体系结构。我一直在做研究,试图找到捆绑和缩小我的JS文件(可能每页100多个)的最佳实践,这种方式在VisualStudio中尽可能自动化和轻松 我注意到的一些比较突出的工具是YUI Compressor、MS Ajax Minifier和Google Close——它们看起来很棒;但是当试图让他们很好地使用RequireJS时,事情很快就会变得一团

我正在从事一个新项目,其中性能和优化是绝对关键。我的客户机完全是用JavaScript编写的:依赖关系由RequireJS管理,主干中有MVC风格的体系结构。我一直在做研究,试图找到捆绑和缩小我的JS文件(可能每页100多个)的最佳实践,这种方式在VisualStudio中尽可能自动化和轻松

我注意到的一些比较突出的工具是YUI Compressor、MS Ajax Minifier和Google Close——它们看起来很棒;但是当试图让他们很好地使用RequireJS时,事情很快就会变得一团糟。我也一直在研究RequireJS优化器,它在实践中看起来很棒,但它依赖于节点或Rhino,我认为我做不到这一点

在浏览了互联网之后,我正在努力寻找实现这一目标的方法——当我想到这一点时,我可能会要求提供一个难以置信的全面、智能的工具,而这个工具可能并不存在。我可以让它与YUI压缩机一起工作,但据我所知,让它与许多JS文件一起工作并保持它的维护将是非常实际的

我承认我在这方面有点经验不足——我是不是把事情复杂化了


我的问题是:有没有更好的方法来调节和管理开发中的JavaScript依赖关系,从而使捆绑和缩小易于生产

Nodejs有。节点中有一大堆工具可以实现您的目标。我很久以前就没有接触过VisualStudio,但似乎启动外部构建脚本是可行的。请参见Visual Studio marketplace中提供的大量工具,我最喜欢的是“Bundler&Minifier”

关键特征

  • 您可以绑定单个js或css文件
  • 您可以缩小单个js或css文件
  • 您可以捆绑/缩小所有js或css文件
  • 在每次构建时自动绑定/缩小

  • 我对构建脚本没有意见,但我的项目可能会被许多其他开发人员访问,让他们都安装Nodejs以构建项目是我最不希望出现的情况。编辑:虽然如果我可以通过nuget或其他什么切实可行地实现这一点,它可能会成功。如果我没有弄错的话,nodejs对windows没有依赖性。有人愿意经历使用VS的痛苦,他们会发现安装nodejs非常简单。如果你正在优化RequireJS节点,我发现它比Rhino/Java更快,而且安装起来不费吹灰之力。无论你使用什么工具,你都需要安装一些东西(例如,YUICompressor和Google Closure需要Java),而其他构建工具不支持RequireJS绑定。我将把这个答案标记为正确的-使用Windows的预构建节点二进制文件确实是一条路要走。我可以将它包含在我的项目中,并设置一个构建事件,以便在构建时执行RequireJS Optimizer。从这里开始,您只需确保在发布模式下切换到最小化脚本。您需要做的第一件事是在项目中的某个位置包含node.exe,以及您需要的所有r.js优化器脚本。然后打开项目的属性,进入构建事件,并将“node r.js-o Build.js”添加到构建后事件中。完成此操作后,它将在成功生成后自动运行该生成命令。然后,这只是一个确保您在发布模式下指向正确脚本文件夹的例子-我通过Team City连接了我的项目,因此在部署中,我只是烧掉旧脚本文件夹,并用优化的文件夹替换它。