微信小程序中扩展 sass(scss) 安装后还会报错问题

微信小程序中扩展 sass(scss) 安装后还会报错问题,第1张

在使用<style scoped lang="scss" ></style>通常都会使用预处理,例如使用sass的时候,明明已经安装 npm install sass-loader node-sass webpack --save-dev 这些扩展,为什么还是在使用的时候报错,如下:

最后的解决方案在github 上得到了解决,安装的时候都是默认最新版本,恰恰相反问题就出现在这里, 最终把sass-loader版本降到了7.1.0 就可以了 npm install [email protected] --save-dev

如有帮到各位还请点个赞,有疑问请留言

使用脚本监听某个目录文件变化,把sass文件内容编译成wxss后缀的文件。

--assets(存放静态资源目录)

----scss(存放scss源文件目录)

----wxss(存放编译后的wxss文件目录)

Chokidar

https://github.com/paulmillr/chokidar

node-sass

https://github.com/sass/node-sass

在目标页面 json 文件里设置 "pageOrientation": "landscape" 即可实现全屏,这个参数默认是 "portrait" (竖屏),设置 "auto" 表示跟随手机系统自动转换。

需要注意的是,设为横屏后, rpx 单位不再生效,有人建议使用 px ,但是这样不能实现自适应布局,所以我们需要引入一个新的单位: vmin 。

vmin :视口宽度 vw 和高度 vh 两者之间的最小值。

其实,有 vmin 自然就会有 vmax , vmax 意为视口宽度 vw 和高度 vh 两者之间的最大值。

vw 我们都理解,是当前设备宽度的1%,即1vw就是设备宽度的1%,50vw就是设备宽度的50%( vh 同理)

vmin 怎么理解呢?拆一下,看成 v + min ,前面的 v 还是 vw 中的 v , min 则是 w 和 h 中的最小值,这样一来, vmin就能理解为当前设备最短边的1% ( vmax 则是最长边的1%),是不是立马就懂啦?50vmin就是最短边的一半,100vmin就是最短边的全部。

什么时候会用到这两个单位呢?

案例1:一个总能展示在屏幕的正方形(如上图左边黄色区域)可以这样定义

案例2:一个以屏幕最长边为边长的正方形(如上图右边黄色区域)可以这样定义:

所以,我们在小程序中使用 vmin 作为长度单位就能保证所有元素都能正常展示,也可以适应各种尺寸的屏幕了。

但是这样一来,写CSS的时候不就很麻烦?我们想实现一个竖屏状态下是200rpx * 50rpx的按钮,在横屏状态下使用 vmin 做单位的话,宽高各是多少呢?这涉及 rpx 和 vmin 的单位换算,所以我们需要定义一个转换函数帮助我们处理这些转换逻辑。

这篇文章 介绍了如何在微信小程序中使用SCSS,这里我们使用SCSS定义该函数,:

于是,横屏页面下,我们可以这样定义一个按钮使之做到自适应:

最终渲染出来的结果是:

你学废了吗?

微信搜索「 熊猫活动助理 」进入体验。

小程序中的抽奖界面使用了横屏模式,可以进入小程序体验一下,具体 *** 作可参考 《如何制作一个抽奖点名工具》 。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/11579017.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存