背景:

  使用过vue开发的童鞋应该都知道,在开发vue项目的过程中,有个叫"热更新"的功能特别爽,在传统html开发到初次接触vue时,才发现原来前端开发可以这么香。热更新的表现形式是,启动项目后,会自动打开浏览器预览,同时在IDE进行代码修改,会自动编译更新发布,在浏览器会触发刷新后直接就能展示在IDE修改后的内容。

  那么,传统的Dynamic CRM 表单的js和html开发可以“热更新”吗?

痛点:

  Dynamic CRM web资源更新的最大痛点就操作繁琐,更新慢。更新一点点东西要发布很久。

穷则思变:为了解决这个痛点,我用过很多插件,如WebResourceUtility、Web resource updater,xrmtoolbox一些第三方更新的插件等不是很好用,后来研究出一种相对来说比较满意的一种方式,这种方式需要用到工具:Fiddler4

Fiddler4可以做什么?

先上个效果图:

  上面简单的一个效果图做了一个这样的操作:

    1、fiddler老本行抓包,嗅探到了浏览器访问图片url

    2、此图片url触发了AutoResponder规则

    3、规则匹配成功,把url的响应内容狸猫换太子,替换成了另外一个图片(fiddler作为中间层,把服务器返回的内容修改成了指定的内容,让浏览器误以为是服务器返回,也就是说劫持+篡改)

    4、好处是:免发布、见效快,上面只是切换站点地图触发局部刷新,就已经展现出效果了

应用案例:

  下面描述Dynamic CRM表单开发使用fiddler辅助开发进行“热更新”的步骤

  1、准备一个js,内容随意(我这里使用ts最终会生成js文件)

  

  2、将js发布到crm并且配置好加载函数

  

  3、打开表单查看没有篡改的效果

  

  4、配置AutoResponder规则

  

  5、我们修改本地的js,将 Hi,Welcome to my blog! 改成 Hello,Welcome to my blog!  然后开启fiddler

  

  6、从步骤5可以看到我并没有发布,直接刷新页面,加载的是我本地修改的js

结论:

1、这种更新减少了服务器更新web资源的次数

2、使用fiddler规则替换web资源之后,见效很快

3、使用ts+linqpad更新是目前来说我觉得最佳的表单开发方案

  ①ts项目可支持压缩打包生成js占用网络资源小加载速度变快、语法自定义代码变得简洁、代码自动格式化、拥抱js最新es语法,体验语法糖带来的快乐,反正会打包成浏览器可识别的js

  ②linqpad批量发布web资源,加载目录直接勾选,避免了一个个发布,单个发布也变快(代码见另一篇文章:Microsoft Dynamics CRM 批量上传web资源(非官方WebResourceUtility)并替换实体图标

最后,

希望本文对大家有所启发,在dynamic crm的开发中,注入新的方式方法。

使用Fiddler劫持网络资源为前端开发助力(示例:Dynamic CRM 表单开发 也能热更新? )的更多相关文章

  1. 如何提高码农产量,基于java的web快速开发平台之自定义表单开发随笔

    老板 :下班前一定写完? 程序猿:可以,下班前能一定给! 第二天早上上班~~~ 老板:这都第二天了,怎么没写完? 程序猿:我还没有下班呢! 哎!程序猿的痛啊 公司上线的项目有不少销售记录表,又是报价单 ...

  2. 三、使用Fiddler劫持网络资源(手机端)

    一.使用说明https://www.cnblogs.com/woaixuexi9999/p/9247705.html

  3. 25个Web前端开发工程师必看的国外大牛和酷站

    逛了一周国外大牛们的博客与酷站,真是满满的钦佩.震撼.羡慕.惊喜………… Web设计是一个不断变化的领域,因此掌握最新的发展趋势及技术动向对设计师来说非常重要.无论是学习新技术,还是寻找免费资源与工具 ...

  4. webstorm前端开发工具vue环境配置及运行项目

    1:webstorm的安装:2:node.js的安装3:安装Git4:vue-cli 安装前面两步就可以把项目启动了,安装Git主要是打开命令窗口,这样就可以用liunx命令了,原理跟cmd差不多 V ...

  5. Dynamic CRM 2013学习笔记(二十九)报表设计:reporting service 报表开发常见问题

    在报表开发过程中,经常会遇到各种各样的问题,比如The report cannot be displayed. (rsProcessingAborted),一点有意义的提示都没有:再就是分页问题,经常 ...

  6. 搭建带热更新功能的本地开发node server

    引言 使用webpack有一段时间了,对其中的热更新的大概理解是:对某个模块做了修改,页面只做局部更新而不需要刷新整个页面来进行更新.这样就能节省因为整个页面刷新所产生开销的时间,模块热加载加快了开发 ...

  7. 高逼格前端开发工具-FIDDLER

    1.Fiddler相对其他调试工具的优势 HttpWatch 和 Firebug绝大多数前端开发人员都比较熟悉,但是HttpWatch虽然可以抓到每个 HTTP 请求的全部数据,但无法修改返回的数据: ...

  8. 前端开发利器—FIDDLER 转

    http://www.cnblogs.com/yuzhongwusan/archive/2012/07/20/2601306.html 前端开发利器—FIDDLER 1.Fiddler相对其他调试工具 ...

  9. 前后端分离之fiddler前端开发代理 autoresponder 正则表达式 regex:(?insx) 修正符详解

    regex:(?isx)^http://127.0.0.1:3000(/dlscene)?/order/(\w*) http://127.0.0.1:8080/dlscene/order/$2 上面这 ...

随机推荐

  1. Public Round #1

    传送门 [PR #1]删数 题意:写的很清楚了,略 思路: 首先转化为差分数组,两个连续数相同,删掉,乘二放进去. 发现能互相转化的两个数,符号,值\(/lowbit\)都一样. 把能相互转化的数归为 ...

  2. syc-day2

    第1题:mod注意负数. 第2题:dp 第3题:构造(奇偶性) 第4题:线段树

  3. 关于『HTML』:第三弹

    关于『HTML』:第三弹 建议缩放90%食用 盼望着, 盼望着, 第三弹来了, HTML基础系列完结了!! 一切都像刚睡醒的样子(包括我), 欣欣然张开了眼(我没有) 敬请期待Markdown语法系列 ...

  4. 在linux上开启酸酸乳,未完待续

    在服务器调试深度学习环境的时候总需要下载conda的包,一直以来都觉得是因为国内访问慢,于是想在服务器上开 ,或者ssr.由于过去用ssr多一些,于是想了解ssr on linux. 1.首先win1 ...

  5. 自动装箱与自动拆箱——JavaSE基础

    自动装箱与自动拆箱 自动装箱与拆箱就是编译器蜜糖(Compiler Sugar) Integer a = 234; // 自动装箱,实际上是Integer a = Integer.valueOF(23 ...

  6. swap函数模板

    在许多应用程序中,都有交换相同类型的两个变量内容的需要.例如,在对整数数组进行排序时,将需要一个函数来交换两个变量的值,如下所示: void swap(int &a, int &b) ...

  7. markdowm使用学习

    markdowm学习 标题(#/##/###/####) 三级标题 四级标题 字体(*/) hello world! hello world! hello world! hello world! he ...

  8. ABAP CDS - Language Elements

    The following sections summarize the language elements of the DDL and DCL of the ABAP CDS, arranged ...

  9. NFS网络文件系统搭建

    1. 简介 NFS, 就是network file system的简称. 可以通过NFS, 来共享不同主机的文件.目录. 2010年,NFS已经发展到v4.1版本. 2. 应用场景 在中小型企业中,N ...

  10. docker 映射端口穿透内置防火墙

    一.问题现象 1.现象举例: # 自制的springboot项目的dockerfile # springboot 其实就是一个简单的hello-world程序,写了一个HelloController ...