Npm 关于软件包安装的新手问题

Npm 关于软件包安装的新手问题,npm,package,cdn,Npm,Package,Cdn,我之所以提出这个问题,是因为我在使用Bootstrap4时遇到了一个问题“BootstrapSelect”,但这是一个相当普遍的概念性问题。我们走吧: 安装一个包和在html中引用它的css/js有什么区别?让我们以引导选择为例: 我可以将我粘贴的引用放在index.html下面,bootstrap select可以工作(或者至少应该可以),但我也可以安装带有“npm install bootstrap select”的包,那么这两种方法之间的区别是什么呢?这是其中一个足以让包工作的吗?这两个步

我之所以提出这个问题,是因为我在使用Bootstrap4时遇到了一个问题“BootstrapSelect”,但这是一个相当普遍的概念性问题。我们走吧:

安装一个包和在html中引用它的css/js有什么区别?让我们以引导选择为例:

我可以将我粘贴的引用放在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安装Popper来安装Popper?或者我应该两者都做

<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" />

根据我的说法,最佳做法是安装并进入node_模块。我这样做的理由是

  • 加载应用程序时,您需要连接到internet(在intraNet中运行时,软件包不会加载)

  • 您可能永远不知道软件包CND何时更新,更新后可能会遇到一些问题


  • 请随意更正:)

    angular建议您在(angular 5)中使用angular.cli.json(angular版本4)和angualr.json,而不是在index.html中声明js文件,这样可以保持代码干净。而且通过npm安装也很简单,并且减少了js版本更新的工作量。

    两种方法都可以。但是,NPM用于管理Paket及其版本和依赖项。如果只是一个依赖项,那么您需要的方法是可以的。问题是,Angular使用NPM在其代码中使用包。你有像webpack之类的东西,这给了你一个开发环境。如果你没有互联网,或者他们从cdn中删除了那个文件,那么它就不起作用了。在国际海事组织有一份本地副本总是更好的。试着阅读关于NPM的内容,它是什么,它是如何工作的,以及它与NodeJSThanks的关系。当然,我会阅读,但我想对这个主题有一个快速的想法。还有一个问题,如果我通过npm安装了一个包,并且iit在内部存储到node_模块中,这意味着不再需要html中的css/js引用了?如果仍然是,我如何引用node_模块中的那些文件?感谢您的友好回复@Abhishek Ekaanth。这意味着,如果您只是使用npm安装,那么您不需要html中的css/js引用?或者,如果您仍然在做如何引用node_模块中的文件?当您进行安装时,您不需要CND。感谢您的友好回复@Kallam。我会给阿披实加上记号,因为答案很相似,他回答了第一个问题,但你们的回答对我很有帮助。