为什么nrwl/nx比棱角分明的@ 6 vanilia更好?

pie*_*nik 7 angular nrwl nrwl-nx

最大的优势nrwl/nx是在一个项目中实现多个工作区.现在也angular 6支持它.什么是nx超过角度@ 6的其他冒险?

Fat*_*med 5

nx太神奇了,我正在使用它,因为在一个大项目中我们有5个角度应用程序,而且我认为nrwl / nx是为复杂的企业应用程序制作的,因此,如果您有一个包含许多前端应用程序的大项目,这将非常有用,但是即使对于一个可以为您带来很多优势的应用程序,nx也会带来一些好处:

  • 您将为所有共享相同package.json的应用程序创建一个monorepo,因此您必须为所有应用程序管理一次软件包
  • 更高的一致性和生产率
  • 您可以创建可以在应用程序之间共享的库,这样可以节省您的时间,并且团队表示,最好将所有逻辑代码放入库中,即使它们不在应用程序之间共享也是如此
  • 如果将其与标准cli进行比较,则可以提供更多代码生成选项
  • 您将拥有出色的路由和状态管理(ngrx)实现(正确的实现)
  • 缩短构建时间:使用nx,您将避免重新执行不必要的构建,因此,如果您对lib进行一些更改,nx将确保仅依赖于它的应用程序才能构建。
  • nx的未来是拥有功能强大的Mono repo工具和出色的构建系统(nx 的Bazel版本),并且您的项目可能已准备就绪,可用于CI

使用一个命令,您可以构建或测试受更改影响的应用程序

yarn affected:build --all --prod
yarn affected:test --all --prod
Run Code Online (Sandbox Code Playgroud)
  • 现在可以生成许多类型的前端应用程序ANGULARREACT //用于生成React应用程序ng add @ nrwl / react#将React功能添加到工作区中ng g @ nrwl / react:application reactAppName

    // for generating an angular app
    ng add @nrwl/angular
    ng g @nrwl/angular:application angularAppName
    
    Run Code Online (Sandbox Code Playgroud)
  • 为您的前端应用程序(例如Nest)生成后端应用程序,并以灵活的方式在前端和后端应用程序之间创建共享库

    ng add @nrwl/nest
    ng g @nrwl/nest:app api --frontendProject=YOU_FRONTEND_PROJECT // link the generate nest app to a specific frontend app 
    
    Run Code Online (Sandbox Code Playgroud)


Jar*_*sen 2

它提供的工具可以帮助您仅构建您也进行更改的应用程序。因此,如果您对共享库进行更改,它可以找出哪些应用程序使用该库项目并仅构建它们。