修改配置文档错误
通过分析组件widget代码,自动混淆指定组件内所有相关的样式选择器以实现有效的广告反拦截,包括类html、css和js文件的自动混淆,支持设置过滤和自定义的混淆处理。
注意:
执行npm install -g fis-prepackager-widget-admix 安装插件
npm install -g fis-prepackager-widget-admix
FIS2:
//vi fis-conf.js fis.config.merge({ modules: { prepackager: 'widget-admix' }, settings: { prepackager: { 'widget-admix': { ignore: '.clearfix,',//不进行混淆的选择器,多个逗号隔开 list: [ //需要混淆的组件,相对模块根目录路径 'widget/slogan' ], //自定义混淆处理 mix : {} } } } });
注意:如果您已使用其他prepackager插件,请在已有地方添加widget-admix,逗号隔开
FIS3:
//vi fis-conf.js fis.match("::package",{ prepackager : fis.plugin('widget-admix',{ ignore: '.clearfix',//不进行混淆的选择器,多个逗号隔开 list: [ //需要混淆的组件,相对模块根目录路径 'widget/slogan' ], //自定义混淆处理 mix : {} }) })
例如JS中如果要设置自定义混淆逻辑:
mix : { //数组形式,代表多个混淆逻辑,依次执行 'js' : [function(code){ var map = this.map;//混淆前后索引表,map.id,map.class //do something with js code return code; }] }
每次编译都重新生成一遍
开发时:
/*css文件*/ #slogan { position: relative; }
<!-- isHtmlLike 的文件 --> //默认支持html style和smarty {%style%}、<%style%>标签 <style> .style_test a{ color:black; } </style>
编译后:
/*css文件*/ #llM67m { position: relative; }
<!-- isHtmlLike 的文件 --> <style> .aiMy8D a{ color:black; } </style>
<section class="section ignore_class" id='slogan'> </section>
<section class="zhDXWk ignore_class" id='zhDXWk'> </section>
var a = document.getElementsByClassName("style_test"); var b = $(".style_test"); b.addClass("style_test style_test2");
var a = document.getElementsByClassName("cakPrn"); var b = $(".cakPrn"); b.addClass("cakPrn cakPrn2");
cd test/moduleA fis release -d output
FIS反广告拦截组件样式混淆插件
通过分析组件widget代码,自动混淆指定组件内所有相关的样式选择器以实现有效的广告反拦截,包括类html、css和js文件的自动混淆,支持设置过滤和自定义的混淆处理。
注意:
使用方法
安装此插件并进行配置
执行
npm install -g fis-prepackager-widget-admix安装插件FIS2:
注意:如果您已使用其他prepackager插件,请在已有地方添加widget-admix,逗号隔开
FIS3:
配置说明
例如JS中如果要设置自定义混淆逻辑:
使用效果
自动获取组件内所有css文件和模板内嵌css选择器,生成hash值进行混淆处理
每次编译都重新生成一遍
开发时:
编译后:
自动替换模板文件中的样式选择器(id|class=”xxx”)
开发时:
编译后:
自动替换JS代码中的选择器或class名称
开发时:
编译后:
测试