Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

node修改项目名称后,重新启动,会报错模块就找不到了。
删除node_modules后,再npm i
就可以正常运行

我想问的是: 比如说require('express')
不是沿着module.path的路径找吗?为什么会找不到呢?


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
288 views
Welcome To Ask or Share your Answers For Others

1 Answer

我知道答案了,有相同问题的可以参考
就拿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'就可以了


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...