资讯专栏INFORMATION COLUMN

postcss-bem插件在webpack4以上版本报错处理 .moveTo is not a fu

wwolf / 3219人阅读

摘要:强大的插件让我们在编写的过程中获得了极大的便利,比如,我们可以方便的使用语法来命名我们的组件。但是在以上的版本中,却会导致编译报错这是由于源字符串解析成的抽象语法树已经废弃了该方法参考一场由引发的血案。

postcss强大的插件让我们在编写css的过程中获得了极大的便利,比如,我们可以方便的使用BEM语法来命名我们的组件。

我是Title

我是内容
 @component CompName {
    height: 200px;
    width: 200px;
    margin: auto;

    @descendent contain {
        font-size: 16px;
        font-weight: normal;
        color: #333;

        @when active {
            color: #ff5d23;
        }
    }
}
/* 编译后 */
.CompName {
    height: 200px;
    width: 200px;
    margin: auto;
}

.CompName-contain {
    font-size: 16px;
    font-weight: normal;
    color: #333;
}

.CompName-contain.is-active {
    color: #ff5d23;
}

这种语法的使用只需我们引入postcss-bem这个插件就可以的。但是在webpack4以上的版本中,却会导致编译报错:rule.moveTo is not a function

 xx .moveTo is not a function

这是由于css源字符串解析成的抽象语法树已经废弃了该方法(参考一场由postcss-bem引发的血案)。所以不再能够使用moveto去操作抽象树中的节点。所以使用append方法来代替即可解决该问题。

newComponent.append(rule);
// rule.moveTo(newComponent); 

为此,撸了一个npm包,可供后续开发人员调用。包地址:wlq-postcss-bem
由于第一次发布npm包,没有经验,很不规范,欢迎大家指正。github地址:wlq-postcss-bem。
欢迎大家交流使用。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/114306.html

相关文章

  • postcss-bem插件webpack4以上本报处理 .moveTo is not a fu

    摘要:强大的插件让我们在编写的过程中获得了极大的便利,比如,我们可以方便的使用语法来命名我们的组件。但是在以上的版本中,却会导致编译报错这是由于源字符串解析成的抽象语法树已经废弃了该方法参考一场由引发的血案。 postcss强大的插件让我们在编写css的过程中获得了极大的便利,比如,我们可以方便的使用BEM语法来命名我们的组件。 我是Title 我是内容 @compon...

    PiscesYE 评论0 收藏0
  • webpack3 升级 webpack4踩坑记录

    摘要:本篇不包含所有坑,暂时只记录自己踩到的部分坑一安装安装最新版本安装新增依赖这个在中,本身和它的是在同一个包中,中将两个分开管理。我记录下自己更新这个的过程,以下前半部分可以直接跳过。以下记录踩坑过程。 本篇不包含所有坑,暂时只记录自己踩到的部分坑 一.安装 安装webpack4最新版本 npm install --save-dev webpack@4 安装新增依赖 webpack-c...

    马忠志 评论0 收藏0
  • JavaScript 之 核心语法 [ 函数和作用域 ]

    摘要:函数描述表示定义一段代码,并且可重复使用函数的定义函数声明方式字面量表达方式函数声明方式语法函数名称小括号不可省去函数体函数声明方式在定义函数时,函数体中的内容不会被执行哑吼吼调用函数使用函数名称调用函数的时候会执行函数体中的内容字面量方 函数 描述 表示定义一段JavaScript代码,并且可重复使用 函数的定义 函数声明方式 字面量表达方式 函数声明方式 语法 function...

    joy968 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<