【问题标题】:Angular newbie question regarding packages install关于软件包安装的角度新手问题
【发布时间】: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 中引用这些文件?

标签: npm package cdn


【解决方案1】:

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

【讨论】:

  • 感谢您的友好回复@Kallam。我会标记 Abhishek Ekaanth 只是因为答案很相似,他回答很重要,但你的回答对我很有帮助。
【解决方案2】:

据我所知,最好的做法是安装并进入 node_module。我这样做的原因是

  1. 在加载应用程序时需要连接到互联网(在内网中运行时包不会加载。

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

欢迎指正:)

【讨论】:

  • 感谢您的友好回复@Abhishek Ekaanth。这意味着如果您只是使用 npm 安装,那么您不需要 html 中的 css/js 引用?或者如果你仍然在做如何引用 node_modules 中的文件?
  • 安装时不需要 CND。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多