不知道该怎么表达,或许直接贴图贴代码更好

前因:在第一个使用angularjs的项目中我将所有的controller写到一个文件里面,深知维护起来那滋味,所以再次使用angularjs的时候,我便把所有的controlle、directive、factory给提取到相应的文件夹下面,以便于维护。此时js这么多表示很无奈。

当然,解决办法很多,搜索:angularjs 按需加载 site:cnblogs.com 会有很多介绍就不多说了。

下面说说我的解决方案

如题,利用T4模板来合并;模板的写法因需求而定

举个栗子:我将的所有的controller代码都放在了controller文件夹中

app.js:

defaultCtr.js:

随着控制器的不断增加,js文件也就不断的增多,我在 controller文件夹同级目录 建了一个如下所示的T4模板(ps:关于此模板的创建http://www.yimo.link/Article/13.html

<#@ template debug="false" hostspecific="true" language="C#" #>
<#@ assembly name="System.Core" #>
<#@ import namespace="System.Linq" #>
<#@ import namespace="System.Text" #>
<#@ import namespace="System.IO" #>
<#@ import namespace="System.Collections.Generic" #>
<#@ output extension=".js" #> <# string dirPath=this.Host.ResolvePath("controller"); #>
<#
foreach(var file in new DirectoryInfo(dirPath).EnumerateFiles())
{
using (StreamReader reader = new StreamReader(file.FullName))
{
WriteLine(reader.ReadToEnd());
}
}
#>

这个模板的作用就是:获取controller目录下的所有文件 读取内容并输出到生成的js文件中

结果:将生成的js文件替代之前的defaultCtrl.js、artListCtrl.js即可实现优化。

同理可得,利用T4模板来合并一些js文件岂不快哉。

尝试过使用Bundle来合并,但是似乎只能合并且压缩。如何只合并不压缩还请知道的人指定。

个人之见,若有不足,望能给予指点。

最新文章

  1. 关于复选框input[type=checkbox]
  2. 在已有 Ubuntu 的基础上硬盘安装 Win7 实现双系统
  3. magnum 命令使用说明
  4. C# barcode生成代码
  5. FITTING A MODEL VIA CLOSED-FORM EQUATIONS VS. GRADIENT DESCENT VS STOCHASTIC GRADIENT DESCENT VS MINI-BATCH LEARNING. WHAT IS THE DIFFERENCE?
  6. HDU 4825 Xor Sum(经典01字典树+贪心)
  7. 定时组件quartz系列&lt;三&gt;quartz调度机制调研及源码分析
  8. C 实现的算法篇
  9. js--小结⑤
  10. oracle特殊字符的ascii值
  11. AOP面试遇到的问题
  12. python模块—socket
  13. Overlay网络技术之vxvlan
  14. git常用命令行总结
  15. opencv+codeblocks +anaconda
  16. 我的第一个SpringProject——HelloWorld
  17. IDEA下运行 mybatis报错 Parameter &#39;arg0&#39; not found. Available parameters are [autoRecharge, id, param1, param2]
  18. bootstrap selectpicker控件select下拉框动态数据无法回显的问题
  19. 一起学Hive——总结各种Join连接的用法
  20. Redhat6.5——解决yum功能不能正常使用

热门文章

  1. QParserGenerator的文法文件介绍
  2. ystep jQuery流程、步骤插件
  3. 谈谈UI架构设计的演化
  4. Service基础使用
  5. ASP.net 常用服务器控件
  6. [笔记]linux下和windows下的 创建线程函数
  7. Session for SSRS Report of Microsoft Dynamics AX
  8. BCP 数据的导入和导出
  9. 【Win10应用开发】通过拖放来打开文件
  10. Android之自定义标题