首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >.NET小型化-在子目录中查找缩小的文件

问.NET小型化-在子目录中查找缩小的文件
EN

Stack Overflow用户
提问于 2013-10-13 21:57:14
回答 1查看 332关注 0票数 0

是否可以使用.NET小型化/捆绑机制创建一个包,该包将搜索子目录中被缩小的文件:

未压缩的:

代码语言:javascript
复制
/css/jquery-ui.css
/css/fullcalendar.css
/css/bootstrap.css

缩小:

代码语言:javascript
复制
/css/minified/jquery-ui.min.css
/css/minified/fullcalendar.min.css
/css/minified/bootstrap.css

我有大约12个独立的样式表和20+脚本,而且压缩版本是原来的两倍。我想让他们分开,只是为了一点组织性。这个是可能的吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-13 22:37:03

在Asp.Net MVC中进行捆绑和小型化的方法是在运行时通过动态处理。当您创建一个包时,它可以注入到任何Asp.Net页面中。如果您处于调试模式,绑定程序将以其完整的形式发送包中的每个项,以便于调试。如果您处于发布模式,则绑定程序会自动将包中各个文件的内容解析为内存filestream中的单个文件,然后将其缩小。没有必要在项目中显式地包含css/javascript文件的完整版本和小型化版本。然而,根据ASP.Net文档

捆绑框架遵循几个共同的约定,例如:

  • 选择“.min”文件,以便在“FileX.min.js”和“FileX.js”存在时发布。
  • 选择非“.min”版本进行调试。
  • 忽略“-vsdoc”文件(如jQuery1.7.1-vsdoc.js),这些文件仅由IntelliSense使用。

基本上,如果您有完整的和小型化的版本,那么框架将更倾向于使用预小型化版本而不是缩小文件本身。

在发布模式下加载页面时,捆绑和缩小的效果将显示为整个包的单个css或js文件流,由对服务器(例如http://localhost/MvcBM_time/bundles/AllMyScripts?v=r0sLDicvP58AIXN_mc3QdyVvVj5euZNzdsa2N1PKvb81 )的单个调用表示。

实际上,创建了一个与包名称相匹配的唯一路由(本例中为AllMyScripts)。查询字符串v有一个值令牌,它是用于缓存的唯一标识符。只要包不改变,ASP.NET应用程序就会使用此令牌请求AllMyScripts包。如果包中的任何文件发生变化,ASP.NET优化框架将生成一个新的令牌,确保对包的浏览器请求将得到最新的包。

至于包含多个目录的文件,最简单的方法是使用通配符模式匹配。Include方法中指定的虚拟路径和IncludeDirectory方法中的搜索模式可以在最后一个路径段中接受一个*通配符作为前缀或后缀。搜索字符串不区分大小写。IncludeDirectory方法可以选择搜索子目录。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19350761

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档