Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/413.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么这么多JavaScript库都在谈论命令行安装?_Javascript_Theory - Fatal编程技术网

为什么这么多JavaScript库都在谈论命令行安装?

为什么这么多JavaScript库都在谈论命令行安装?,javascript,theory,Javascript,Theory,我显然错过了JavaScript文化的转变;现在,我看到JavaScript库(例如,或一百万个其他库)谈论通过npm通过命令行安装它们。当然,这与简单的概念大不相同 我的问题不是“什么是npm”,而是JavaScript开发文化中正在发生什么——范式转换本身 如果所有这些都是关于node.js的,那么为什么这些库不在下载页面的顶部(或者任何地方)清楚地声明它们的库是node.js库呢 命令行?你在说什么。。。这是JavaScript JavaScript所发生的事情与Java with和Pyt

我显然错过了JavaScript文化的转变;现在,我看到JavaScript库(例如,或一百万个其他库)谈论通过npm通过命令行安装它们。当然,这与简单的
概念大不相同

我的问题不是“什么是npm”,而是JavaScript开发文化中正在发生什么——范式转换本身

如果所有这些都是关于node.js的,那么为什么这些库不在下载页面的顶部(或者任何地方)清楚地声明它们的库是node.js库呢

命令行?你在说什么。。。这是JavaScript


JavaScript所发生的事情与Java with和Python with(仅举两个例子)所发生的事情完全相同。复杂软件具有依赖性,满足这些依赖性可以通过以下三种方式之一解决:

  • 包括所有依赖项以及软件包
  • 让开发人员查找、下载并汇集所有依赖项
  • 以标准化的方式描述依赖项,并使用软件自动安装依赖项
  • 第一个选项存在代码大小和将依赖项和子依赖项更新到较新版本的复杂性问题(例如,如果我想更新包A,并且它依赖于不需要更新的B和C,那么我是否仍需要重新下载捆绑的B和C?)。第二种选择是客户端JavaScript的最新技术,如果依赖项的数量非常多,这将是一种巨大的痛苦。第三个选项是包管理器,如NPM、Maven或pip,或GNU/Linux发行版的软件管理器


    至于像“命令行??我的客户端脚本不是在浏览器中运行吗?”--是的,您在浏览器中运行代码,但是您使用在命令行上运行的包管理器工具获得依赖关系。命令行工具正在解决下载许多软件库的问题,这是一项与代码实际运行的上下文完全不同的任务。

    modernizer的文档没有明确说明这一点吗?npm安装是为了一个工具,它可以让你定制一个Modernizer版本,其中只包含你想要包含的功能。要说清楚,“js开发文化中正在发生的事情”是一个离题的话题。@Quentin,他没有;我不知道“npm安装”是什么,node js本身对大多数人来说是相对较新和未知的。@seahorsepip-从问题:“我的问题不是‘什么是npm’,而是js开发文化中发生了什么”当我想到“定制构建”时,我想到了Eclipse的IDE开发。。。如果我想自定义我下载的一些库,我只需打开.js文件并更改它。。。javascript文化中“自定义构建”的概念似乎放错了地方。。。所以我的问题是npm是一个工作站问题。。。在我的工作机器上开发期间我做了什么?