ChatGPT解决这个技术问题 Extra ChatGPT

“ng-bootstrap”和“ngx-bootstrap”有什么区别?

ng-bootstrapngx-bootstrap 有什么区别?它们相互关联吗?还是它们只是并发实现?

是否有人与他们一起工作并且可以给出/解释两者的优缺点?

ng-bootstrap 我的意思是 ng-bootstrap.github

ngx-bootstrap 我的意思是 valor-software-ngx-bootstrap

两者都与 Angular 4(不是 AngularJS!)和 Bootstrap 4 有关。

请注意,这不是重复的 difference between ngx-bootstrap and ng2 bootstrap? 问题。

ngx-bootstrap 支持引导程序 3 & 4,而 ng-bootstrap(AngularJs 中的 ui-bootstrap)仅支持 bootstrap 4。
我认为@snorkpete 的答案值得设置为正确答案,他花时间找到答案并写下来。回来阅读您在stackoverflow中放置的问题的答案,然后查看它们,如果您对其中一个感到满意,请选择它作为正确答案,这是一种很好的文化

s
snorkpete

ng-bootstrap 和 ngx-bootstrap 是两个不同项目团队的两个不同项目,它们试图完成或多或少相同的事情 - 允许您在不使用 jQuery 的情况下在 Angular (2+) 中使用 Bootstrap。

他们都只使用 Angular(没有 jQuery)重建 Bootstrap 组件。主要区别在于它们支持的 Bootstrap 版本。

ngx-bootstrap 支持 Bootstrap 3 和 4。

ng-bootstrap 支持 Bootstrap 4 并且需要 Angular 5+。

这意味着如果您需要使用 Bootstrap 版本 3,那么 ngx-bootstrap 是您在两者中唯一真正的选择。如果您可以使用 Bootstrap 4,那么您可以在两个项目之间进行选择。

另一个(可能显着的)差异是项目背后的团队。在这方面需要注意的关键点是 ng-bootstrap 背后的团队还负责 angular-ui-bootstrap - Bootstrap 库的 AngularJS(即 1.x)版本。


这是两个团队负责人的问题。从外面看,他们的目标略有不同,所以我猜这与它有关,但这只是我的猜测
如果我们在 Angular 项目中包含这两个库会不会有问题?如果是这样,预计会出现什么样的问题?
可能有可能,但似乎有点矫枉过正。如果您不太在意并且使用的是 Bootstrap 4,则只需选择一个(如果必须,随机选择)。
如果我想要一个带有子菜单的下拉菜单,哪个可以实现目标?
D
Dilshan Liyanage

我正在考虑为我的项目使用什么,然后在比较了两个项目之后,我认为 valor-software 的 ngx-bootstrap 是一个更好的选择,因为它的模态组件中内置了动画。 Ng-bootstrap 动画仍然不存在,弹出一个没有动画的模态是一个很大的麻烦。其他原因是 Ng-bootstrap 仍处于测试阶段,与 ngx-bootstrap 相比,我无法将它用于我的生产应用程序,后者已经有一个发布候选版本(12.22.2017)。但是,我希望这两个项目都好运,并希望能提出可靠的解决方案。


Ng-bootstrap 1.0.0 现在可用,并且 AOT 编译器构建没有问题。请参阅github.com/ng-bootstrap/ng-bootstrap/blob/master/CHANGELOG.md
I
Imtiaz Shakil Siddique

2021 年更新:从 v8.0.0 in ng-boostrap 开始,动画默认开启,并可在所有标准引导组件上使用。

我已经使用了 ngx-bootstrap(由 Valor)和 ng-bootstrap(由 ng-boostrap)。这是我从他们那里获得的独特功能中的两分钱:

ngx-bootstrap:

几乎所有东西的内置动画支持(模态,手风琴,折叠,下拉,日期选择器......)更好的模态支持(嵌套模态,模态作为服务,模态作为模板)可排序组件(具有拖放功能)

ng-bootstrap:

导航功能(Tabset 已弃用)内置 Toast 组件包大小几乎是 ngx-bootstrap 的一半(缩小 + Gzipped)

您还可以将他们的 npm 下载计数与 npmtrends 进行比较。

[注意:我的回答基于当前最新版本,即 ngx-bootstrap v5.5.0 和 ng-boostrap v6.0.0]


J
Jiping

同意@Dilshan。我还决定为我们的新产品选择 ngx-bootstrap。经过一番研究,我发现 ngx 对于生产来说更加成熟和稳定。 ng-bootstrap 正在开发中。

一个很好的参考资源,CoreUI.io 具有完整的功能 CoreUI + Angular 5.x + ngx-bootstrap sample project。我实际上从这个项目中学习了 ngx。您可以浏览其实时预览或下载项目包。


取决于您如何定义“成熟”,因为 ngx-bootstrap 甚至没有对任何东西进行单一测试。 ng-bootstrap 似乎对所有东西都进行了测试。
很高兴知道,谢谢分享。我相信 ng-bootstrap 是正确的方法。我提到成熟度只是因为它刚刚在一周前发布。 (“这个库正在进行中......”)
在今天的开源前端生态系统中,成熟现在似乎意味着“2 个多月前发布”。 ;)
B
BBaysinger

一个区别在于他们的日期选择器使用的格式。 ng-bootstrap 使用一个对象,但 ngx-bootstrap 将采用一个更易于使用的字符串。


S
Steve

ng-bootstrap 似乎不受支持 - 最高请求是 appendTo 正文,维护者说他没有从事该项目。

我一直在将所有东西都切换到 ngx-bootstrap


T
Thor

问题中提到的 ng-bootstrap(https://ng-bootstrap.github.io 中的那个)不是 npm 包 ng-bootstrap。

相反,npm 包是 @ng-bootstrap/ng-bootstrap

它是由不同的团队开发的。

$ npm 查看@ng-bootstrap/ng-bootstrap

@ng-bootstrap/ng-bootstrap@3.2.0 |麻省理工学院 |部门:1 |版本:61 Angular 驱动的 Bootstrap https://github.com/ng-bootstrap/ng-bootstrap#readme

npm 包 ng-bootstrap 看起来确实是 ngx-bootstrap 的旧版本。


Z
Zarepheth

与其说是答案,不如说是扩展评论...

我不太确定团队是否独立。运行 npm view ngx-bootstrapnpm view ng-bootstrap 表明两者都是使用相同的电子邮件帐户发布的。

我认为这两个团队是相关的。

npm 查看 ngx-bootstrap

C:\:
17:07:25.16>npm view ngx-bootstrap

ngx-bootstrap@3.0.1 | MIT | deps: none | versions: 40
Native Angular Bootstrap Components
https://github.com/valor-software/ngx-bootstrap#readme

keywords: angular, bootstap, ng, ng2, angular2, twitter-bootstrap

dist
.tarball https://registry.npmjs.org/ngx-bootstrap/-/ngx-    bootstrap-3.0.1.tgz
.shasum: e98d2fc6340f32a9d358cd08e8fda7dcb23bdab3
.integrity: sha512-ni91yYtn8ldgf/pxrlwl9lkVcLURGzopSpJnEbbgG1v1EZWTobI8y7J3mx4Kxptkn0EeiQwnLel67G7XJSox4A==
.unpackedSize: 8.4 MB

maintainers:
- valorkin <valorkin@gmail.com>

dist-tags:
latest: 3.0.1       next: 3.0.1         test: 0.0.0-test.0

published a month ago by valorkin <valorkin@gmail.com>

npm 查看 ng-bootstrap

C:\:
17:16:42.36>npm view ng-bootstrap

ng-bootstrap@1.6.3 | MIT | deps: 1 | versions: 8
Native Angular Bootstrap Components
https://github.com/valor-software/ngx-bootstrap#readme

keywords: ng, ng-bootstap, angular, angular2, bootstrap, twitter-bootstrap

dist
.tarball https://registry.npmjs.org/ng-bootstrap/-/ng-bootstrap-1.6.3.tgz
.shasum: d41fd42154c0593422cb83c473a3828aa7525bf5

dependencies:
moment: 2.18.1

maintainers:
- pkozlowski_os <pkozlowski.opensource@gmail.com>
- ng-bootstrap <foxandxss@gmail.com>

dist-tags:
beta: 1.1.16-3  latest: 1.6.3

published a year ago by valorkin <valorkin@gmail.com>

ng-bootstrapngx-bootstrap 的旧名称。对于 ng-bootstrap.github.io,npm 包名称为 @ng-bootstrap/ng-bootstrap,即 npm view @ng-bootstrap/ng-bootstrap
听起来更像是那个“valorkin”家伙来自 ng-bootstrap,并为 ngx 开设了自己的团队“valor-software”
I
Imran Javed

这取决于需要,但遵循经验法则,ng-bootstrap 通常更合适,原因如下:

ng-bootstrap 有更多的星星

ng-bootstrap 是相对较新的解决方案

ng-bootstrap 更轻

如果我没有任何特定的理由选择 bootstrap 3,那么 ng-bootstrap 应该是首选。

有关事实和数据的更多详细信息,请参阅以下 github 存储库:

https://github.com/valor-software/ngx-bootstrap

https://github.com/ng-bootstrap/ng-bootstrap