这周在做网易云音乐播放器,这期间遇到了不少问题,下面就来记录一下我所遇到的部分问题
一、接口问题
调用网易云的接口,网上一搜方法一大堆,但是我的理解有些问题,硬生生搞了好久。。。下面就给那个方法再重新小白化一遍TAT
- 安装环境,首先你要有nodejs和git,如果不知道有没有,请先cmd打开黑窗口,然后输入以下指令,如果得到版本号即为安装成功
node -v
git --version
这个我的电脑里已经安装有,就不再多说,如果没有安装请自行搜索教程
- 下载项目依赖包。好的,我就是从这里开始理解错的,所以下面说个我最后搞成功之后回过头看理解的版本:
(1)直接去搜索这个网址 https://github.com/Binaryify/NeteaseCloudMusicApi.git
(2)点这个,直接下载!下载到电脑里!
(3)下面是下载的文件夹,右键点他!
(4)在小黑窗里输入以下指令,这两句,一个字母都别改!
npm install
node app.js
(5)然后如果你得到了以下这句话,咱就成功了99步了!
(6)浏览器输入http://localhost:3000 ,如果出现下面这个页面,那咱就可以放心了,成功了!
注:那个git bash打开的小黑窗要一直挂着,别关别关千万别关!
二、控制台报错:Uncaught SyntaxError: Unexpected reserved word
刚开始我在js文件里是这样写的:
const result = await getBannerList();
这一句在控制台报了以上的错,解决方法:
export async function homePage() {
const result = await getBannerList();
}
注:await 关键字必须出现在 async 函数中(划重点!),用在某个表达式之前,如果表达式是一个 Promise,则得到的是 thenable 中的状态数据。
三、Cannot read property ‘xxx’ of null
比如我的报错Cannot read property ‘getBoundingClientRect’ of null
参考以下文章:https://markdowner.net/skill/228173038728929280
具体讲解请看以上链接
四、Uncaught SyntaxError: Identifier ‘xxx’ has already been declared
找了好久,最后发现是写重了,最后将两个有部分重复的模块进行了合并,问题解决
五、一些其他问题
还有很多报错呀,例如”未定义”的报错,一般都是一些字母写错,大小写写错,需要细心排查;还有一些引用的路径写错,使用顺序写的不对等等错误
总结
还有一些问题当时忘了记录下来,所以只整理了以上部分。总的来说,我所遇到的大部分错都是来自于以上几个错,一样的模板和套路,只是换了引起报错的函数或者其他东西。
革命尚未成功,同志仍需努力!