什么's在节点控制台中使用require和在html中使用script标记之间的区别

What's the difference between using require in node console and use script tag in html

本文关键字:script html 之间 区别 和在 require 节点 控制台 什么      更新时间:2023-09-26

我是js世界的新手,这真的让我很困惑,昨天我开始在代码中合作undercore.js,所以我开始在REPL环境中尝试,我选择使用Node控制台,我想出了var _ = require (./underscore.js),然后一切都很好。

今天我尝试使用<script>标记将其嵌入到html中,似乎不需要手动var _ = underscore,对象_已经存在。

有人可以解释为什么,以及如何使用npm全局安装下划线,并在不指定文件位置的情况下要求它(如ruby require Module)

主要区别在于使用脚本标记将文件作用域的所有全局绑定添加到页面上所有代码共享的全局作用域中。当你在网站上编写JavaScript时,就好像所有不同的脚本都在一个文件中一样。

另一方面,节点的需求更合理地不以这种方式填充全局范围。相反,它返回一个对象,该对象包含模块导出的所有内容;这基本上是模块的名称空间。这就是为什么你必须做_ = require('./underscore.js')。这样做更好,因为您不必担心不同文件的全局变量发生冲突。