曾经我们遇到的bug

195 阅读2分钟

我曾经在node.js中的足迹

first

Snipaste_2022-04-25_14-03-54.png

error: Snipaste_2022-04-25_14-23-13.png 错误写法:require(fs) 正确写法:require('fs') 注意点:

  1. nodejs中的核心模块(模块)一般为固定格式
  2. 模块引入一般为固定模式:const fs = require('fs')
  3. 由于规范:我们一般使用const 声明 而变量名(常量)一般和模块的标识名相同
  4. 注意require方法后面的模块标识名一定要不要忘记引号.

second

Snipaste_2022-04-25_15-32-14.png

error:

Snipaste_2022-04-28_21-00-12.png

错误写法:fs.writeFileSync('data.json', data)

正确写法:fs.writeFileSync('data.json', JSON.stringify(data))

注意点:

  1. 写入内容是json类型
  2. 需要将data转换为json类型

third

Snipaste_2022-04-28_21-13-28.png

Snipaste_2022-04-28_21-14-02.png

error:

Snipaste_2022-04-28_21-11-44.png 错误写法: let res = formatDate(Date.now()) 正确写法: let res = obj.formatDate(Date.now())

注意点:自定义模块导出的是一个对象,所有要调用这个方法要通过对象取值 : obj.formatDate()

fourth

写接口时,遇到的bug.代码如下:

Snipaste_2022-04-29_19-17-32.png

error:

Snipaste_2022-04-29_19-17-23.png

错误写法:res.end({message:'ok'}) 正确写法:res.send({message:'ok'})

fifth

错误代码如下和页面输出结果如下图:

Snipaste_2022-04-30_19-20-43.png

正确代码和页面输出结果如下图:

Snipaste_2022-04-30_19-21-08.png

注意点: 记得把数据转成json格式.使用JSON.stringify()

sixth 小黑窗开启位置错误

文件目录如下:

Snipaste_2022-05-02_12-05-59.png 执行命令以及报错如下:

Snipaste_2022-05-02_12-06-13.png

正确运行:

Snipaste_2022-05-02_12-09-23.png

seventh

在vue的template中一定要有一个根元素. 否则 错误如下图:

Snipaste_2022-05-03_19-18-55.png

Snipaste_2022-05-03_19-19-03.png 正确写法如下:

Snipaste_2022-05-03_19-20-10.png

eighth

在vue中我们在计算属性computed中求得的累加时容易出现以下错误:

Snipaste_2022-05-05_19-27-59.png 原因:计算属性的sum值被修改了,但是它并没有setter,所以报错 所以我们需要用到高阶属性

computed:{
set(val){
 },
get(){
 }
}

注意点:当我们想要给计算属性赋值的时候我们需要用到set方法

ninth

当我们在父组件和子组件之间通信的时候 尽量不要在子组件中修改父组件的数据,如果修改的数据是值类型就会出现以下错误:

Snipaste_2022-05-06_21-15-19.png 如果修改的是对象的话,则不会报错. 所以强烈建议不要在子组件修改父组件的数据

tenth

在Vue中数据驱动视图,数据改变会导致视图更新,这个过程是异步的! 这个时候就需要我们用到nextTick了,不然的话报错如下:

Snipaste_2022-05-08_16-14-59.png

错误代码:

Snipaste_2022-05-08_16-15-12.png

正确代码:

Snipaste_2022-05-08_16-15-17.png

eleventh

当我们使用作用域插槽时,容易犯以下错误:

在子组件中传值代码如下:

image.png

父组件接收错误代码如下:

image.png

正确写法:

image.png

注意:我们用scoped去接收数据的时候,scoped是一个对象,我们渲染页面的时候取值不能直接取.

twelfth

bug图:

image.png

正确写法:

image.png

注意点: 如果写普通函数的话.this就指向window了,当写箭头函数的时候,此时this是代表组件. 所以这里只能写箭头函数.

后续会一直更新......