上节说明了参数rule.resource/rule.resourceQuery
配置值可以是string、regex、funciton、array组合,
关键在于通过RuleSet.normalizeCondition处理实现
比较完整的格式如下:
module: { rules: [{ resource: { test: /\.js$/, include: [], exclude: [] }, use: ['babel-loader], issuer: [], compiler: [], rules: [], oneOf: [] }] }
官网说法:
When we import './style.css'
within app.js
, the resource is /path/to/style.css
and the issuer is /path/to/app.js
因为存在MultiCompiler这个类,可以实现多compiler,所以compiler这个属性还是有意义的
{ test: /.css$/, oneOf: [ { resourceQuery: /inline/, // foo.css?inline use: 'url-loader' }, { resourceQuery: /external/, // foo.css?external use: 'file-loader' } ] }
在通过主逻辑resource/resource/issuer/compiler判定通过之后,可以认为筛选出了使用的loader,
此时并没有停止,可以继续进行判定,过滤出更多的使用的loader,
oneOf表示使用第一个判断通过的loader配置
这点区别于rules,表示后续所有通过判定的loader都使用
_run(data, rule, result) { .............. .............. if(rule.use) { rule.use.forEach((use) => { result.push({ type: "use", value: typeof use === "function" ? RuleSet.normalizeUseItemFunction(use, data) : use, enforce: rule.enforce }); }); } if(rule.rules) { for(let i = 0; i < rule.rules.length; i++) { this._run(data, rule.rules[i], result); } } if(rule.oneOf) { for(let i = 0; i < rule.oneOf.length; i++) { if(this._run(data, rule.oneOf[i], result)) break; } } }
_run函数是个递归调用,只要你愿意,可以到深渊。。。
相关推荐
Redux-RuleSet的DevTools。 可视化数据流 Redux-RuleSet是可以管理数据流的冗余中间件。 该Chrome扩展可视化您的应用程序中的数据流动。 如果您使用Redux-RuleSET模拟整个数据流,您不仅可以可视化数据流的原因,...
PMD_ruleset规则文件,已经最基本的验证进行了导入。在Eclipse导入即可
当前将其设置为"homepage": "/ruleset-generator/"以满足zgif.org的要求。 从此目录运行: npm run build以在/ build中获取构建工件。 用法 局限性 如果XSD无效,此应用程序将中断; 例如,在中没有Account 。 ...
checkstyle_ruleset_minimal.xml
<ruleset>/path/to/pmd_ruleset_minimal.xml</ruleset> </rulesets> </configuration> </plugin> </plugins> </reporting> ``` 对于SonarQube Scanner,通常使用`sonar-maven-plugin`,并且配置会更加复杂,...
<ruleset>config/pmd.xml</ruleset> </rulesets> </configuration> </plugin> <groupId>com.github.spotbugs</groupId> <artifactId>spotbugs-maven-plugin</artifactId> <version>4.2.3</version> ...
当你遇到`java.lang.NoClassDefFoundError: org/apache/commons/digester/RuleSet`这样的错误时,这意味着你的应用程序运行环境中缺少了Apache Commons Digester库,需要引入`commons-digester.jar`来解决这个问题。...
tk10plus tk10plus 是一组渲染样式,看起来像德国的“Topographische Karte 1:10.000”(地形图 1:... 在 Maperitive 中:use-ruleset location=/tk10plus/tk10better.mrules as-alias=tk10better 在 Maperitive 中:
如果您在启动时自动希望加载简化规则, /etc/ccalc/ simplification.ruleset复制到/etc/ccalc/ 。 如果要使用另一个文件夹,请调用make INSTALL_PATH=/my/path (不带斜杠)。 如何使用它 ccalc处理输入。 任何不是...
规则包中的javabean内容规则包中的javabean内容规则包中的javabean内容规则包中的javabean内容规则包中的javabean内容
用于terraform-provider-azurerm的TFLint规则集 适用于Azure的Terraform Provider的TFLint规则集插件(资源管理器)要求TFLint v0.24 + 前往v1.16安装下载插件并将其放在~/.tflint.d/plugins/tflint-ruleset-azurerm...
Phant0m ruleset v8002 破解版.rar
RuleSet 是一个编程概念,通常在规则引擎或者逻辑处理系统中使用。它是一组规则的集合,这些规则定义了特定条件下的行为或决策。在不同的上下文中,RuleSet 可能有不同的实现方式和用途,例如在业务流程管理、决策...
Cloudflare Block Bad Bot Ruleset项目停止并阻止Bad Bot,垃圾邮件引荐Cloudflare Block Bad Bot Ruleset ,广告软件,恶意软件和任何其他类型的不良Internet流量,这些垃圾流量曾经到达您的网站。受启发,并使用...
下载插件并将其放在~/.tflint.d/plugins/tflint-ruleset-template (或./.tflint.d/plugins/tflint-ruleset-template )中。 使用插件时,请在.tflint.hcl如下配置: plugin " template " { enabled = true } 规则...
<ruleset name="Default"> , Microsoft.Practices.EnterpriseLibrary.Validation" targetMember="Name" message="Name is required." /> </ruleset> </add> </typeRules> </validationRules> </data...
您只需要克隆此存储库,然后将其包含在modsecurity.conf中: ...Include wordpress-modsecurity-ruleset/*.conf (可选)您可以按照01_SETUP.conf文件中所述更改默认行为: ...SecAction " phase:1,id:22000000,...
该软件建立在基础之上。 建筑L-方案 为了编译L-Schemer,需要在目录中运行csc repl.scm 使用L-Schemer 使用L-Schemer有两种方法,一种可以使用源文件的文件名作为“ repl”的参数。 ./repl filename 一个人也...