Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.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 “怎么可能?”;npm安装<;模块>&引用;是否用于开发针对浏览器的页面?_Javascript_Browser_Npm_Installation - Fatal编程技术网

Javascript “怎么可能?”;npm安装<;模块>&引用;是否用于开发针对浏览器的页面?

Javascript “怎么可能?”;npm安装<;模块>&引用;是否用于开发针对浏览器的页面?,javascript,browser,npm,installation,Javascript,Browser,Npm,Installation,将资源添加到浏览器中运行的页面时,我会链接到该文件(本地、由web服务器提供服务或在CDN上) 我了解Node.js程序的用法(所有程序都在服务器上本地运行,因此框架的源代码都在那里),但对于基于浏览器的开发人员,由npm install安装的位于Node\u模块中的文件最终必须到达代码实际运行的浏览器 通过npm install安装框架的建议(或首选)是否适用于针对浏览器的代码,还是仅适用于Node.js或webpack(或类似捆绑包)用法?我个人更喜欢通过npm安装,然后使用相对URL,例如

将资源添加到浏览器中运行的页面时,我会链接到该文件(本地、由web服务器提供服务或在CDN上)

我了解Node.js程序的用法(所有程序都在服务器上本地运行,因此框架的源代码都在那里),但对于基于浏览器的开发人员,由
npm install
安装的位于
Node\u模块中的文件最终必须到达代码实际运行的浏览器


通过
npm install
安装框架的建议(或首选)是否适用于针对浏览器的代码,还是仅适用于Node.js或webpack(或类似捆绑包)用法?

我个人更喜欢通过npm安装,然后使用相对URL,例如
/node\u modules/../filename.css

我还知道有些人更喜欢复制软件包的css/js,并从自己的目录提供服务,如
/assets/css/…
/assets/js/。
。这样,如果他们愿意,他们可以编辑/添加到原始框架中,并保留更改,因为他们在git中提交了更改


另一个非常流行的选项是CDN,许多人建议,为了缓存的一大优势,特别是如果用户已经下载了该文件,因为该文件在他们访问的另一个网站中使用过,他们可以更快地加载你的应用程序/网站,因为他们在浏览器中本地缓存了这些文件,不必重新下载。

在第一种情况下,你需要公开整个
节点模块
目录,这与第二种情况没有太大区别。这两个问题在我问题的开头都提到了。CDN部分是绝对正确的,这就是为什么使用著名的CDN cas可以加快速度。我仍然不明白为什么
npm install
会有用,除了作为一种将文件带到本地(类似于将URL保存到本地)然后将其与其余代码一起公开的方式。@WoJ如果我理解您的意思是正确的,则不会,就像在Node.js中一样,
npm安装
除了获取软件包并将其保存在本地之外没有其他用途,因此您不必在每次部署时都包含它们(压缩数千个文件有时可能需要一段时间)。另外,当其中一个包更新时,总是使用相同的版本以避免不兼容包出现任何问题。但无论如何,您都可以通过CDN获得,因为版本在URL中。@WoJ同样,当使用npm时,更新包非常容易,而不是手动在CDN上搜索新版本。
<link rel="stylesheet" href="https://somecdn.com/mycssresource.min.css">
<script src="alocalscript.js"></script>
npm install <framework>