Aibol小结

在使用 Aibol框架的时候 学到很多 也发现很多细节上的不足,记录下来日后可以小心回避

1.ajaxmin css/js压缩工具问题

这个工具可以集成到vs中,在项目打包或者编译的时候就会自动按照配置好的脚本进行CSS/JS压缩,用起来还挺方便的,不过由于太方便,很多细节不注意,导致出现很多灵异现象。这里总结一下使用注意点

  • 首先要安装 ajaxmin

  • 配置文件在 “项目名.csproj” 文件中,用编辑器打开

  • 配置文件在最下面

Aibol小结_第1张图片
Paste_Image.png
  • 由于VS编译/发布会生成一份缓存的临时文件在 obj文件夹下 导致 如果不好好配置 会生成”双份JS“
Aibol小结_第2张图片
Paste_Image.png
  • 原因是配置文件的匹配规则会匹配到所有符合条件的目录,“PackageTmp”中的文件自然也被视为目标文件进行压缩,从而导致JS文件双倍的现象.

  • 解决方案就是 配置 Exclude 过滤掉这个目录. 如图

Paste_Image.png
  • 最后 由于ajaxmin如果找不到指定文件进行压缩会报错,所以新项目如果复制了老的配置文件,也请在目录下面建一个空的JS ,当然 最好每次都重新手写

2.git 忽略文件添加

项目中由于使用ajaxmin,所以每次都会有多个min.js的文件显示被修改,其实毛都没动.提交到git上完全没有意义,手动撤销又略显麻烦,毕竟每次都会有.所以要这样做

  • 打开项目下的 .gitignore 文件

  • 添加代码

# min.js & min.css
**/Content/az/*.min.css
**/Scripts/system/*.min.js
**/Scripts/pages/*.min.js
**/Scripts/zh-cn/*.min.js

**/system.min.js
**/pages.min.js
**/zh-cn.min.js

意思为 忽略满足条件的文件,如果需要排除个别想要的文件 可以单独添加

!request.min.js

以感叹号开头 表示取反 就是不忽略的意思,更多配置可以看我的blog

这样 以后自动生成的文件/测试的上传文件,都不会进入到git仓储中了

3.stash

多人开发的时候经常遇到代码需要同步,而手头上的修改还没做完,如果提交上去就会导致其他人无法运行,或者仅仅是有一个优先的BUG要处理,而手头的修改会影响BUG的修复,这个时候就需要用 git 的 stash 暂存功能,可以保存修改到一半的代码 在sourceTree中可以很方便地操作,或者用命令行操作也很简单

希望开发团队以后每次commit都能认真描述修改内容,多个修改保存多个单独commit,保证开发过程的可回溯性(千万不要改了一天了 才想起来commit,把一万个修改保存在了一起)

4.如果是ajax请求权限不足 则返回 json数据 而不是返回一个网页html.

开发过程中遇到很多ajax请求报错了,但是不弹窗,一看,原来返回值是一整个document--把forbidden页面给返回了,然后拿不到指定的message无法正确提示给用户操作

原因是权限过滤器 [AccessRestriction("List")] 只考虑了页面的请求 无法对ajax进行正确的返回

所以我修改了一下代码


Aibol小结_第3张图片
Paste_Image.png

文件中 添加如下代码段

Aibol小结_第4张图片
Paste_Image.png

这样就能让权限过滤器识别是否是ajax 给出正确的返回值(在江淮项目中测试过,效果良好,不知道能不能加入aibol基础框架)

你可能感兴趣的:(Aibol小结)