ASP.NET使用MS捆绑包,Grunt使用CDN

时间:2014-02-01 01:01:55

标签: asp.net gruntjs cdn bundling-and-minification

我目前正在使用内置的BundleConfigs,它在本地工作并部署得很好,但我想把所有静态资产都移到CDN上。我知道bundle语法允许你指定一个可行的CDN路径,但是有没有人有一个很好的解决方案来保持BundleConfigs与你的部署脚本同步 - 这将最终处理你的静态的concat / minify / copy到CDN?

我正在寻找Grunt来连接/缩小我的样式/ scrips,但这将导致我必须在我的解决方案的BundleConfig.cs中管理我的所有bundle,然后再在我的Gruntfile.js中管理。不理想......

想法或建议?谢谢!

1 个答案:

答案 0 :(得分:9)

如果您打算使用Grunt进行捆绑和缩小,那么我认为您不需要使用ASP.NET Web Optimization框架。为什么要同时使用?只需在页面上插入捆绑的app.css和app.js文件的链接即可。您还可以使用@if ...语句来包含不同版本的文件(开发与生产)。

另外,请查看Gulp.js - Grunt的新替代方案,以及此项目模板,该模板已经具备一些基本的Gulp.js配置:ASP.NET Solution Template

一些可以帮助CDN的Gulp.js插件:

  • gulp-s3 - 在构建期间将静态文件上传到Amazon S3
  • gulp-google-cdn - 用Gogole CDN链接替换对第三方库的引用

通过gulpfile.js文件配置Gulp.js后,您可以运行:

gulp build --production

..为了构建您的HTML / LESS / JS文件并将它们发布到Amazon S3或其他CDN。