script标记如何解析node_modules的路径

How does script tag resolves path to node_modules?

本文关键字:modules 路径 node 何解析 script      更新时间:2023-09-26

我在读这个Node.js In Action,有一个index.html引用了node_modules文件夹中的socket.io.js(我相信)。

node_modules文件夹与index.html所在的位置相距一个目录时,以下脚本标记如何解析socket.io.js的路径?

脚本标签:

<script src="/socket.io/socket.io.js" type="text/javascript"></script>

当您在文件中包含模块时,节点首先在当前目录的node_modules文件夹中查找该模块。如果它在那里找不到模块,那么它会移动到父目录,并在该目录中的node_modules中查找模块,然后继续向上移动,直到找到所需的模块。

  • Socket.io将socket.io-client/socket.io.js文件的内容读取到一个变量中。

  • Socket.io可以访问你的应用程序的http服务器,然后它会侦听与"/Socket.io/Socket.io.js"之类的URL匹配的请求,并用之上的变量的内容进行响应

你可以在socket.io中看到这一点源代码:

  • 正在读取.js源代码
  • 提供.js文件