magix-combine
Version:
合并Magix View的html,js,css成一个js文件,并检测html,js,css中可能存在的问题
28 lines (15 loc) • 1.11 kB
HTML
<div mx-view="path/to/view" view-param1=""<%=param1%>" view-param2=""<%!param2%>"></div>
=>
<div mx-view="path/to/view?param1=%22<%!encodeURIComponent(param1)%>¶ms2=%22<%encodeURIComponent(decodeHTML(params2))%>" view-param1="<%=param1%>" view-param2="<%!param2%>"></div>
<!--
浏览器会对属性中的html实体进行decode,因此我们在参数转换的时候,也要做这个事情
在前端实现decodeHTML代价太大,因此<%=与<%!结果相同,但打包工具会提示不要用<%!而是用<%=
-->
<div mx-click="open({key'\\'<%=key%>',key2:'<%!key2%>'})"></div>
=>
<div mx-click="open({key'\\\'<%=encodeQ(key)%>',key2:'©<%!encodeQAndE(key2)%>'})"></div>
<!--
事件对象中只需要对字符串进行单双引号的转义,同时对实体也要转义。考虑单引号自身的转义
对输出的变量进行单双引号转义即可,对于<%= 不需要转义实体。因为&符会被自动encodeHTML
<%! 这种就原样输出,什么都不做,开发者要自己去处理转义等所有问题,打包工具会给出提示使用<%=而非<%!
-->