[less] Operation on an invalid type

我这个是升级项目的时候遇到的,要从 scss 升级到 less,然后代码中就报了这个错误

我说一下代码的错误过程,但是这里没有复现,因为我原本报错的代码要复杂很多,而且是公司代码,不方便透露,这是我自己写的,虽然没有复现,但我是这样解决的,大家可以参考一下,如果对 scss 和 less 的混合不熟悉的可以看文章 scss中的@include讲解以及关于scss和less中mixin的应用-CSDN博客

如果不想看过程的,也可以直接看最后的总结错误

在使用 scss 的时候

组件文件:

复制代码
<script setup lang="ts"></script>
<template>
  <div>
    <h1>这个是实验的</h1>
    <div class="one">one</div>
  </div>
</template>

<style lang="scss" scoped>
@import './scss/main.scss';
</style>

在组件文件的同级目录有文件夹 scss,scss文件夹中有两个文件,分别是 mixins.scss 和 main.scss

mixins.scss文件:

复制代码
@mixin trim-minxins(
	$width,
	$number,
	$color
	){
	$height:($number - $width) / 2;
	width: $width;
	height: $height*3;
	background-color: $color;
	}

main.scss文件:

复制代码
@import './mixins.scss';

.one{
	@include trim-minxins(100px,300px,pink)
 }

运行项目,发现没有报错

接下来我们使用less的写法:

组件文件:

复制代码
<script setup lang="ts"></script>
<template>
  <div>
    <h1>这个是实验的</h1>
    <div class="one">one</div>
  </div>
</template>

<style lang="less" scoped>
@import './less/main.less';
</style>

在组件文件的同级目录有文件夹 less,less文件夹中有两个文件,分别是 mixins.less 和 main.less

mixins.less文件:

复制代码
.trim-minxins(
	@width,
	@number,
	@color
	) {
  @height: (@number - @width) / 2;
  width: @width;
  height: @height*3;
  background-color: @color;
}

main.less文件:

复制代码
@import './mixins.less';

.one {
  .trim-minxins(100px,300px,pink);
}

此时运行代码,我的项目代码中就报错了,这里没有报错,但是没有得到我预期的效果

如果我们把mixins.less文件改为如下就好了:

复制代码
.trim-minxins(
	@width,
	@number,
	@color
	) {
  // 下面这行代码相比刚才的加了一个括号
  @height: ((@number - @width) / 2);
  width: @width;
  height: @height*3;
  background-color: @color;
}

总结错误原因:

在scss中,我们使用 除号 / 的时候,不用加上 括号(),但是在less中,我们使用 除号/ 的时候,需要加上 括号(),否则对less的写法就是错的

相关推荐
Captaincc1 小时前
AI用量v0.1.11更新发布 新增 jusage doctor 诊断指令 托盘展示token 和余额 新增 AutoClaw 支持
前端·后端·vibecoding
计算机魔术师2 小时前
德国Wiki被黑后两周,OpenAI终于把模型失控的账本摊开了
前端
kyriewen3 小时前
我让 AI 当面试官面了我一轮:第 3 个追问我就卡住了(附 10 道追问清单)
前端·面试·ai编程
IT_陈寒3 小时前
Python的GIL把我坑惨了,多线程跑得比单线程还慢
前端·人工智能·后端
前端snow3 小时前
ai agent --- 多agent框架之图编排引擎-langgraph
前端
竹林8183 小时前
OmniPic Studio v3.2.1 核心技术架构与全平台发版解析文档
前端·浏览器
JamesZhang800783 小时前
页面内存只涨不跌? 一次泄漏排查, 牵出 WeakMap 的诞生
前端
Z小明3 小时前
第 6 章 组件进阶
前端·vue.js
江华森3 小时前
HTTP请求的完整过程详解:从DNS解析到TCP挥手的微秒级实战分析
前端
南青3 小时前
Vue 3 中后台实战:我踩过的 10 个坑和最佳实践
前端