【有关Error: Cannot find module ‘express‘的解决方案】

有关Error: Cannot find module ‘express‘的解决方案

前言

今天在学习Express框架的时候,我下载并安装了express(这个过程应该是没有出错),然后在当前myapp目录下创建了⼀个app.js文件,准备使用express做个测试输出“Hello world!”。执行结果一直出现Cannot find module ‘…/app.js’的报错。下面记录一下我解决此问题的过程。
我先在网上找了很多解决方法,大多都说是因为缺少模块的引用,需要看下package.json里有没有express的依赖项,有的话直接npm install,没有的话 npm install express --save。我检查后按这个步骤重新测试,仍然报错。感觉自己对NPM部分的知识理解的还不透彻,就打算先去看看尚硅谷关于这部分知识的视频,看看能不看完视频后有什么解决思路。
————————————————
报错图:

报错,但是node.moudles下存在express
依赖里面也有express

一、涉及到的相关知识

1. 包(package)是什么?

简单理解,包就是由包结构和包描述文件两个部分组成的一套完整的工具。
·包结构——用于组织包中的各种文件
·包描述文件——是一个JSON格式的文件(package.json),用于描述包的相关信息,以供外部读取分析。

2. NPM包管理工具

之前我对NPM没有很深入的了解,就觉得是一个下载模块的工具,具体什么是包,什么是管理我也不清楚,理解也有些问题。看过视频后,我对npm有了一些更深入的了解。

①对于Node而言,NPM帮助其完成了第三方模块的发布、安装和依赖等。
②NPM的存在相当于360安全卫士的软件管家。
③要找Node的包,就直接上NPM搜索,下载安装使用。

关于nmp搜索包的查询:

node在使用模块名字来引入模块时,它会首先在当前目录的node_modules中寻找是否含有该模块,如果有则直接使用,如果没有则去上一级目录的node_modules中寻找,一层一层直到找到找到磁盘的根目录,如果有就使用,如果依然没有,则报错。

二、最终查错原因

在执行node命令时的文件位置错误。之前我是定位在“\练习”的位置进行node命令的,正确应该是定位到与要执行命令的app.js同级的node_modules所在的文件夹(\myapp)下进行命令操作。
在这里插入图片描述
改变执行命令的定位后,重新启动,是正确的。

三、总结

这里对出错进行总结:
本次报错的原因并不是在Express框架上,也不是npm使用的出错,而是由于之前对node的理解不到位,不知道命令执行的位置也会影响其结果,随便的就开始执行命令导致的。经过本次查错,加深了对node命令的理解,学习了更多视频后,对npm包管理工具也有了更深的认识。

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值