node修改项目名称后,重新启动,会报错模块就找不到了。
删除node_modules后,再npm i
就可以正常运行
我想问的是: 比如说require('express')
不是沿着module.path的路径找吗?为什么会找不到呢?
我知道答案了,有相同问题的可以参考
就拿lodash举例
import _ from 'lodash'
你去node_modules里面看,发现有两个跟lodash相关的文件夹
一个是lodash,一个是_lodash@4.17.15@lodash
lodash文件夹根本双击打不开,而_lodash@4.17.15@lodash里面才有我们想要的文件
所以import _ from 'lodash'
相当于import _ from '_lodash@4.17.15@lodash'
那么lodash文件夹就是一个引用(我猜的,估计是一类特殊的文件夹,有谁知道是什么,麻烦告诉一下),指向_lodash@4.17.15@lodash,而且还是指向的绝对路径,
所以你改了总文件夹的名字,再import _ from 'lodash'
,就找不到了lodash,
换成import _ from '_lodash@4.17.15@lodash'
就可以了