解决vue脚手架问题-Vue项目启动报错This is probably not a problem with npm. There is likely additional logging outp

解决vue脚手架问题-Vue项目启动报错This is probably not a problem with npm. There is likely additional logging outp
111
解决vue脚手架问题-Vue项目启动报错This is probably not a problem with npm. There is likely additional logging outp
a111 删除node_modules 以及C盘用户里的有关文件
解决vue脚手架问题-Vue项目启动报错This is probably not a problem with npm. There is likely additional logging outp
a222
解决vue脚手架问题-Vue项目启动报错This is probably not a problem with npm. There is likely additional logging outp

  • 问题:自己写的代码跑不通,用课程代码就可以跑通,之后自己的代码也通了,但是在登录提交数据判断的时候,用的是课程代码而非自己的代码,而界面仍是自己的界面

  • 这是因为课程代码跑通之后,C盘下载了相应的MOCK数据,后面再用自己的代码跑,仍是课程代码的环境,所以界面是自己的界面,后台判断是课程代码的环境。

  • 如果先用自己的代码跑不通,那么C盘下载的数据就是自己的代码环境,这时课程代码跑一遍也会跑不通,因为用的环境仍是自己的代码

昨晚,在教我前端交流群里面的朋友搭建vue开发环境和构建vue项目的时候发现我自己之前能正常构建vue项目的现在却不行了,排查之下发现

通过脚手架构建项目的时候项目缺失了node_modules文件夹,在我排除了node环境、和配置的环境变量、vue-cli和webpack等一切都没有问题的情况下

差点重新删除node环境和vue脚手架等重装了,但是幸亏我多看了几眼cmd, 发现了貌似是和package-lock.json有关,于是我尝试通过:

npm install express 来解决问题,结果是 node_modules文件夹已经出来了,但是依然没有办法通过 npm run dev 正常运行

于是继续 npm install 发现还是不行,后来发现其实问题很简单,

npm install的执行过程是这样的:

1. 发出npm install命令

2. npm 向 registry 查询模块压缩包的网址

3. 下载压缩包,存放在(本地NPM缓存路径)目录

4. 解压压缩包到当前项目的node_modules目录

也就是说一个模块安装以后,本地其实保存了两份。一份是 npm 目录下的压缩包,另一份是 node_modules 目录下解压后的代码。但是,运行 npm install 的时候,只会检查 node_modules 目录,而不会检查 npm 目录。如果一个模块在 npm 下有压缩包,但是没有安装在 node_modules 目录中,npm 依然会从远程仓库下载一次新的压缩包。

利用已经在缓存中,之前已经备份的模块实现离线模块安装的 cache 机制已经在V5的时候重写了,缓存将由 npm 来全局维护,不再需要开发人员操心,离线安装时将不再尝试连接网络,而是降级尝试从缓存中读取,或者直接失败。就是如果你 offline(离线) ,npm将无缝地使用您的缓存。

所以解决办法就是执行命令清除缓存,npm cache clean --force 命令就是清除这种缓存的

在执行清除命令之后再重新== npm install ==初始化项目(如果卡住一直不动,可以重新 npm install 重新初始),初始化成功之后再通过 npm run dev 就可以正常运行了