【发布时间】:2019-02-11 08:38:45
【问题描述】:
我之所以提出这个问题,是因为我让“bootstrap-select”与 Bootstrap 4 一起工作时遇到了问题,但这是一个相当笼统的概念性问题。走吧:
安装一个包和仅仅在 html 中引用它的 css/js 有什么区别?我们以 bootstrap-select 为例:
我可以将下面粘贴的引用放在 index.html 中,并且 bootstrap-select 可以工作(或者至少应该可以),但我也可以使用“npm install bootstrap-select”安装包,所以这两种方法之间的真正区别是什么?其中之一就足以使包装起作用吗?这两个步骤都需要吗?最佳做法是什么?
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.12.2/css/bootstrap-select.css" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.12.2/js/bootstrap-select.js" />
另一个例子,文档说 bootstrap-select 需要 Popper,所以将下一个脚本引用添加到 index.html 就足够了,或者我应该通过 npm install popper 安装 popper?或者我应该两者都做?
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" />
【问题讨论】:
-
两种方式都可以。然而,NPM 用于管理包及其版本和依赖项。如果它只是一个依赖项,你需要你的方法是可以的。问题是,Angular 使用 NPM 在他们的代码中使用包。你有webpack之类的东西,给你一个开发环境
-
如果您没有互联网,或者他们从 cdn 中删除了该文件,那么它将无法正常工作。拥有本地副本 IMO 总是更好。
-
尝试了解 NPM,它是什么,它是如何工作的以及它与 NodeJS 的关系
-
感谢所有友好的回复,我当然会阅读,但想对这个主题有一个快速的了解。还有一个问题,如果我通过 npm 安装一个包并且 iit 内部存储在 node_modules 中,这意味着不再需要 html 中的 css/js 引用吗?如果它仍然存在,我如何在 node_module 中引用这些文件?