node.js中的错误
1. 引用fs时fs没有加引号:
代码如下:
try {
//可能会出错的代码
const fs = require(fs)
} catch (err) {
//如果try内的代码有错误,就会进入catch,并把错误传进来
console.log('报告,有错误发生')
console.log(err)
}
当我们nodejs跑起来时会发现直接报错了.如图 :
解析: 当看到这么一串英文时,相信初学的小伙伴是懵的.不用着急,我们只需要认识一个单词error : 错误 随后,如图所示 :
如图,很明显的表明了,我们的fs没有初始化.所以应该检查fs相关.
2.自定义模块的调用
代码如下:
- 根目录如下:
2. tool代码如下:
const formatDate = (dateTime) => {
const date = new Date(dateTime) // 转换成Data();
let y = date.getFullYear()
let m = date.getMonth() + 1
m = m < 10 ? '0' + m : m
let d = date.getDate()
d = d < 10 ? ('0' + d) : d
return [y, m, d].join('-')
}
const sleep = () => {
console.log('捉到死睡')
}
//导出自定义模块
module.exports = {
formatDate,
sleep,
relativeTime
}
- test代码如下:
//导入自定义模块
const res = require('./tool')
// console.log(res)
res.sleep() //捉到死睡
let res1 = res.formatDate(Date.now())
console.log(res1) //2022-04-26
当nodejs代码跑起来 :
解析 : 为什么会输出NAN-NAN-NAN呢?
这类bug很明显的说明了在调用函数方法时,如果函数有形参,调用的时候必须需要实际参数,所有应该是
let res1 = res.formatDate(Date.now())
console.log(res1) //2022-04-26
3.跨域问题的解决
当代码跑起来出现如下情况 :
此时,就说明了出现了跨域问题
解决方案:
一、使用CORS
- cors是一个npm包,可以直接在npm超市中下载使用
npm i cros - 使用,当做express的中间键,注意代码应该放在顶部
var cors = require('cors')
app.use(cors())
4.对象转字符串
代码如下:
let obj = {name:张三'}
console.log(obj) // {name:'张三'}
如果我们输出的结果是:
console.log('aaa'+obj) //aaa[object Object]
此时输出的结果为 aaa[object Object]
那我们的obj对象去哪了?
原因如下:
+ : 字符串的拼接,会将obj对象隐性转化为字符串
console.log(obj.toString) // '[object Object]'
所以,+不能使用,应该使用逗号隔开
console.log('aaa',obj) //aaa{name:'张三'}
5、v-for中难以察觉的错误
在vue中script中代码如下:
export default {
data() {
return {
arr:[{id:1, title:'新闻1'}, {id:2, title: '新闻2'}],
list:[{id:1,name:'张三'}]
}}
}
在template中代码如下:
<div>
<h1>v-for</h1>
<ul>
<li v-for="(item,index) in arr" :key="index">{{item.id}},{{item.title}}</li>
<li v-for="(item,index) in list" :key="index">{{item.id}},{{item.title}}</li>
</ul>
</div>
如此的话,看起来没有一点点问题.但是,运行的话则会显示如下:
原因 : 因为key只能是在一个循环里的唯一值!!!
解决方案:将key冲突的小li,分别放在两个ul中
<div>
<h1>v-for</h1>
<ul>
<li v-for="(item,index) in arr" :key="index">{{item.id}},{{item.title}}</li>
</ul>
<ul>
<li v-for="(item,index) in list" :key="index">{{item.id}},{{item.title}}</li>
</ul>
</div>