mpvue小程序开发中配置less支持

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mpvue小程序开发中配置less支持相关的知识,希望对你有一定的参考价值。

问题

开发小程序选定了mpvue框架后,然后是选择理想的小程序组件库,我选择的是Vant Weapp。但是,在Vant Weapp组件毕竟也是有限的,实际问题可能复杂得多。因此,把Vant Weapp组件与小程序原生组件(如swiper等)联合使用,甚至是开发自定义组件都是可能的。另一方面,使用Vant Weapp组件类似库的一个好处是,很大情况下,可以不必关注CSS样式的编写,但也不尽然。今天就遇到这样一个问题。

在mpvue框架时,我自然地使用了官方提供的mpvue-quickstart模板来快速生成一个小程序工程框架,然后再作调整。其中,便是使用了vue-cli,但它默认是不支持更简洁功能更强大的LESS和SASS等CSS样式创建的。但是,很显然,有些情况下,直接使用CSS编写,在样式层级多的情况下,很麻烦,重复性强。这也是引入LESS等的主要原因。那么,能够在使用mpvue框架开发小程序的情况下也引入LESS和SASS等工具支持呢?答案是:没有问题!

办法

第一步:安装less和less-loader
所用命令是:
npm i less less-loader -D

第二步:修改一下webpack.base.conf.js:
如图中红框框出的所示:
技术图片

第三步:使用less语法编写样式即可,举例如下:

<style lang="less">
  .card-goods {
    padding: 10px 0;
    background-color: #fff;
    &__item {
      position: relative;
      background-color: #fafafa;
      .van-checkbox__label {
        width: 100%;
        height: auto; // temp
        padding: 0 10px 0 15px;
        box-sizing: border-box;
      }
      .van-checkbox__icon {
        top: 50%;
        left: 10px;
        z-index: 1;
        position: absolute;
        margin-top: -10px;
      }
      .van-card__price {
        color: #f44;
      }
    }
  }
</style>

小结

定义了上述样式后,可以根据需要应用于Vant Weapp组件上,毕竟有些组件默认样式可能不太合乎实际需求。另外,使用上述思路,也可以在mpvue项目中引入sass样式的使用。有兴趣的读者,可以参考文章https://www.jianshu.com/p/31f78fb9e4ba。

以上是关于mpvue小程序开发中配置less支持的主要内容,如果未能解决你的问题,请参考以下文章

小程序开发框架WePY与mpvue

微信小程序开发之代码提示插件(VSCode)

小程序开发用啥框架

mpvue 小程序开发之 数据埋点统计

小程序开发之mpVue

mpvue小程序开发之 集成第三方UI框架Vant Weapp UI