首页 > 其他分享 >Bug解决

Bug解决

时间:2023-08-12 15:46:20浏览次数:30  
标签:npm 变量 作用域 RHS tailwindcss 解决 div Bug

1. ReferenceError和TypeError

为什么区分LHS和RHS是一件重要的事情?

因为在变量还没有声明(在任何作用域中都无法找到该变量)的情况下,这两种查询的行为是不一样的。

考虑如下代码:

function foo(a) {
	console.log( a + b );
	b = a;
}
foo(2);

第一次对b进行RHS查询时是无法找到该变量的。也就是说,这是一个“未声明”的变量,因为在任何相关的作用域中都无法找到它。

如果RHS查询在所有嵌套的作用域中遍寻不到所需的变量,引擎就会抛出ReferenceError 异常。值得注意的是,ReferenceError 是非常重要的异常类型。

相较之下,当引擎执行LHS查询时,如果在顶层(全局作用域)中也无法找到目标变量,全局作用域中就会创建一个具有该名称的变量,并将其返还给引擎,前提是程序运行在非“严格模式”下。

“不,这个变量之前并不存在,但是我很热心地帮你创建了一个。”

ES5中引入了“严格模式”。同正常模式,或者说宽松/懒惰模式相比,严格模式在行为上有很多不同。其中一个不同的行为是严格模式禁止自动或隐式地创建全局变量。

因此,在严格模式中LHS查询失败时,并不会创建并返回一个全局变量,引擎会抛出同RHS查询失败时类似的ReferenceError异常。

接下来,如果RHS查询找到了一个变量,但是你尝试对这个变量的值进行不合理的操作,比如试图对一个非函数类型的值进行函数调用,或着引用null或undefined类型的值中的属性,那么引擎会抛出另外一种类型的异常,叫作TypeError。

ReferenceError同作用域判别失败相关,而TypeError则代表作用域判别成功了,但是对结果的操作是非法或不合理的。

2. Vue在使用事件总线是出现on没有执行

在跳转页面时,发生事件总线时,on无法接收执行。

原因:因为在emit发射时,on来不及创建,所以无法接收

解决:

在这里插入图片描述

给发射事件添加一个延时

3. 明明是数组但是却报错Cannot read properties of undefined (reading ‘length‘)

说是不能计算出长度。但是我明明是个数组啊。

img

我尝试先打印一下这个children的内容

img

结果也是数组怎么会求不了长度呢?

最后我在求长度的地方加了一个判断,判断他是数组并且长度大于0.这样就不报错了

{{ Array.isArray(row.children) && row.children.length > 0 ? "修改" : "新增" }}

4. div设置position:fixed或者absolute绝对定位后,click事件失效问题

div后面需要点击的link或者标签放到绝对定位的div里面,然后将这个div的z-index设置得大于前一个绝对定位的div即可:

z-index: 99;
position: absolute;

5. Delete eslint(prettier/prettier)

今天遇到一个问题记录一下,eslint(prettier/prettier) 一直提示Delete ,后面加上结尾符号还是不行,

在网上搜索了很多类似问题,解决方法简单粗暴,即使禁用掉这个结尾提示

在.eslintrc.js文件中添加

"endOfLine":"auto"

不建议这么做,本来就是美化统一代码的工具,禁用掉没有意义了,
根据提示修改结尾符号没有的情况下多半是行尾序列号造成的。

如图提示让删除行尾序列号
img

解决方法如下:
img

6. Vue中使用tailwindcss

一、下载tailwindcss

npm install tailwindcss

二、引入tailwindcss

在styles文件夹下引入

image-20220728191743971

再在main.js 中引入

image-20220728191811666

三、初始化

npx tailwind init

这时会生成tailwind.config.js和postcss.config.js,然后在根目录创建vue.config.js配置文件

module.exports = {

    css: {
        loaderOptions: {
            postcss: {
                plugins: [require('tailwindcss'), require('autoprefixer')]
            }
        }
    }
}

四、运行代码

npm run serve运行代码,如果报等级太高的错误,就删除调低

假设以下错误

PostCSS plugin tailwindcss requires PostCSS 8.

解决方法

# 删除原来安装的包
npm uninstall tailwindcss postcss autoprefixer
# 安装低版本包
npm install tailwindcss@npm:@tailwindcss/postcss7-compat postcss@^7 autoprefixer@^9

五、vsCode中安装插件

Tailwind CSS IntelliSense

六、尝试书写代码

 <div class="h-8 bg-green-200 text-yellow-500">山竹</div>

在这里插入图片描述

标签:npm,变量,作用域,RHS,tailwindcss,解决,div,Bug
From: https://www.cnblogs.com/MuyingBlog/p/17624893.html

相关文章

  • ChatGPT:为未来的个人和企业提供革命性的对话解决方案
    ChatGPT被认为是未来的个人和企业的革命性对话解决方案,因为它具有以下特点:1.自然流畅的对话:ChatGPT能够以自然的、流畅的方式进行对话,使得与机器的交互更加人性化和易于理解。2.广泛的知识:ChatGPT经过大规模的预训练,可以提供丰富的知识和信息,能够回答各种问题,并提供有用的建议和指......
  • 传奇单机版架设看不见人物,NPC,怪物,建筑物 如何解决
    因为经常有人发帖子问,自己架设好服务器后,进入游戏,看不到建筑物,人物,NPC,(人物和NPC,怪物能点出来)我换成登陆别人的服务器,进入游戏什么都正常,相应的游戏补丁我也安装了。这是为什么呢。盛大打击私服,免费的测试登录器都不支持盛大新客户端,人家开服的都是购买的商业登陆器肯定没事啊,咱配套......
  • 从Spring源码看Spring如何解决循环引用的问题
    Spring如何解决循环引用的问题关于循环引用,首先说一个结论:Spring能够解决的情况为:两个对象都是单实例、且通过set方法进行注入。两个对象都是单实例,通过构造方法进行注入,Spring不能进行循环引用问题;两个对象都是多实例的情况下,不管是set注入,还是构造注入,都不能解决Spring循环......
  • 传奇架设技术教程传奇登陆器无法正常使用的解决办法
    有的朋友遇到了登陆器无法正常使用的情况,登陆器无法正常打开。因为现在市面上的传奇登陆器太多。而制作登陆器的技术人员也多。从而导致了登陆器竞争市场。 如果出现传奇登陆器打不开,那么你下载的登陆器肯定是有问题的,我来大致说下回出现哪些问题导致传奇登陆器打不开。 ......
  • 英国本科留学不能按时拿学位,除了转学,跨本申硕也可以解决学位
    英国本科留学不能按时拿学位,除了转学,跨本申硕也可以解决学位8月份又匆匆忙忙的过完半月,翻过这个月,英国又要迎来新一轮的“申请季”。英国硕士院校的申请一直都是“先到先得”的惯例,转学也不例外,我收到很多学生的留学询问关于转学相关的事情。说实在的,转学这件事情我不是很在行,但是......
  • Linux ROOT密码忘记解决方法 root口令忘记解决方法
    忘记root密码解决思路:用光盘启动重新设置密码将光盘设置为第一启动保存退出进入救援模式  用光盘启动 设置root密码主板上有个bios芯片,不但可以自检程序用于引导之外,还可以设置(一般电脑的话开机按F2、F1或者其他键)虚拟机上就是打开电源时进入固件然后开机 找到Boot(启动)里面......
  • Linux磁盘故障,模拟故障及解决思路方法
    每个分区起始位置都有一个inod表索引节点表(类似于目录表)每一个文件都对应一个编号称为索引节点,如果这个空间文件数太多了,记满了,就说明索引节点表耗尽。故障1 该分区不能正常读写或者说只能读不能写了但是又没有满,就代表文件系统有问题,文件系统有问题需要进行修复命令:故障2:索引......
  • 解决linux mysql命令 bash mysql command not found 的方法
    错误:root@DB-02~]#mysql-uroot-bash:mysql:commandnotfound原因:这是由于系统默认会查找/usr/bin下的命令,如果这个命令不在这个目录下,当然会找不到命令,我们需要做的就是映射一个链接到/usr/bin目录下,相当于建立一个链接文件。首先得知道mysql命令或mysqladmin命令的完整路......
  • linux系统安装bison,解决 These critical programs are missing or too old bison comp
    1、编译 glibc过程中报错../configure--prefix=/opt/glibc-2.272、首先查看bison版本  bison--versionbison-V貌似就没有安装bison。3、使用yum安装bison yuminstallbison 安装成功。 4、查看版本:bison--version 居然这么简单就完成了。5、继续编译 glibc......
  • antd vue 解决a-select下拉菜单跟随页面滚动
    问题描述:antd a-select下拉菜单会跟着滚动一块走 官方原话:getPopupContainer菜单渲染父节点。默认渲染到body上,如果你遇到菜单滚动定位问题,试试修改为滚动的区域,并相对其定位  解决方案:这样就ok了 :getPopupContainer="triggerNode=>triggerNode.parentNode"......