3

我想在前端使用 angular2 框架,所以对于 UI 部分我想使用 primeng 但我不知道 npm 是如何工作的。

技术资料:

  1. 我的 IDE 是 eclipse/netbeans
  2. 项目将部署在 Wildfly8.0 上

我可以将 JSF 组件与primeng 混合使用吗?

4

1 回答 1

10

TL;DR:是的,有可能,但有更好的选择

重要概念:

  • AngularJS是 Angular 版本 1 的同义词
  • Angular2是 Angular 版本 2 的同义词(不向后兼容 v1)
  • primeng是一个组件库,依赖于angular2
  • primefaces是一个组件库,依赖于JSF
  • JSF并且angular2是 MVC 框架,其中每个框架都有基于注释 (@annotation) 的注入机制,尽管术语相似,但两种机制的底层非常不同
  • angular2+primengtypescript(推荐)一起使用,或者javascript,另一方面,JSF+primefacesjava
  • primeng是客户端,primefaces是服务器端
  • 开发的公司primeng是同一家开发的公司primefaces,最近我们作为用户看到了非常好的协同作用,如果一个组件有改进,那么就会移植到另一个库。
  • 现在(2016 年)primefaces有更多的组件primeng,感觉更精致

使用primeng+ JSF( primefaces) 的含义:

  • 每个框架都有不同的生命周期,具有不同的概念和含义(假设一个是客户端,另一个是服务器端),如果您开始使用这两个框架,您必须非常详细地了解它们。
  • 如果你开始混合两个框架的组件,这将很难维护

其他方法:

  • primeng+ JAX-RS:鉴于您正在使用wildfly这将很容易实现,所有服务都向客户端组件提供信息。它往往是“现代”的方法。
  • JSF+ primefaces:这是最简单的解决方案,只有服务器端,只需学习一个框架。
  • 仅用JSF作模板引擎(facelets)并在其之上使用angular2+ primeng:是的,这可以工作,但需要更多调查才能使其正确,您需要真正理解JSFangular2生命周期,并非不可能,但需要时间。

至于你的其他问题npm:是的,你可以使用angular2without npm,但是你需要编写比必要更多的样板代码,你可以使用这个 plunker 作为起点(你需要添加 js 文件primeng):http://plnkr .co/edit/bApfY9?p=info


更新 1:我曾经读到JSF计划实施生命周期阶段来执行 javascript 代码。暂时没有官方说法。

于 2016-06-26T18:38:01.193 回答