遇到问题:validateOptions is not a function

在使用schema-utils进行webpack loader参数验证时遇到'validateOptions is not a function'错误。问题源于以commonJs方式导入模块而非EsModule。修正方法是将调用改为validateOptions.validate(),从而解决了该问题。
摘要由CSDN通过智能技术生成

项目场景:

在 node 模块中,我们一般使用的是 commom.js规范;

使用场景:小编在自己编写loader的时候,需要接收配置文件中给当前loader传递过来的参数,并且需要对接收到的参数进行验证,看是否符合参数规则;所以就使用到了 schema-utils 这个三方模块 ,当时小编没有使用 EsModule 规范进行导入,反而使用的是 commonJs 规范进行导入的这个三方模块,然而就出现了   validateOptions is not a function  这个问题~

解决方法请看下方~


问题描述:

小编当时写的代码如下:

//1.引入
const validateOptions = require("schema-utils");
const loaderUtils = require("loader-utils");

//2.编写loader
module.exports = function (source) {
    //获取配置文件中传递过来的参数
    const options = loaderUtils.getOptions(this) || {};
    //指定验证规则
    let schema = {
        type: "object",
        //可以在properties中告诉webpac
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值