都说require.resolve不会加载参数中指定的模块,但为什么require.resolve一个不存在的模块会报错Cannot find module 'xxx'呢?按理说他只需要查询某个模块文件的完整绝对路径的文件名,查询就好了,不用关心该模块是否存在吧?不至于报错吧?求大神指点
都说require.resolve不会加载参数中指定的模块,但为什么require.resolve一个不存在的模块会报错Cannot find module 'xxx'呢?按理说他只需要查询某个模块文件的完整绝对路径的文件名,查询就好了,不用关心该模块是否存在吧?不至于报错吧?求大神指点
10 回答11.2k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
require.resolve
需要返回值(模块路径),正常逻辑下没有查到是应该抛Error的,难道返回null
么?参考源码:
https://github.com/nodejs/node/blob/mast...
https://github.com/nodejs/node/blob/mast...
好吧打脸了,内部确实返回了null,只是nodejs包装一层,创建了个Error抛出。