【解决安装的marked包运行显示marked is not a function的问题】
这是npm包管理工具部分的练习,安装marked并进行测试查看效果。
按照步骤,我正确安装了marked,但在测试中报错:marked is not a function。
在自己能力范围内,并没有找到出错的原因,步骤都是按照视频流程进行的,感觉是无误的。最后请教老师,才解决了问题。
解决方法:
一:对exports进行说明:
- exports对象是当前模块的导出对象,⽤于导出模块公有⽅法和属性。
- 别的模块通过require函数使⽤当前模块时得到的就是当前模块的exports对象。
二:需要区分两种描述下exports导出的内容是什么。
module.exports= function(){}; //导出的是一个函数
exports function(){} ; //导出的是一个对象
三:分析错因:
在上面例子中,先查看marked的具体内容:
可以看出,使用exports function(){} 的方式导出的是对象,(marked是一个对象,不是函数)。不能通过const marked = require(“marked”)获得,需要使用marked函数的marked属性才可以,或者使用解构赋值。
具体见下图:改变后可以运行成功。
目前关于marked的报错是解决了,后面再仔细学习一下关于exports导出的知识后,如理解有误,再对本次的笔记进行修改。