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