benwinding / ngext

Better routing for Angular
https://benwinding.github.io/ngext/
MIT License
85 stars 5 forks source link
angular framework ngx routing server-side-rendering

ngext

A routing framework for angular inspired by React's next.js.
[![NPM Version](https://img.shields.io/npm/v/ngext.svg)](https://www.npmjs.com/package/ngext) [![License](https://img.shields.io/npm/l/ngext.svg)](https://github.com/benwinding/ngext/blob/master/LICENSE) [![Downloads/week](https://img.shields.io/npm/dm/ngext.svg)](https://www.npmjs.com/package/ngext) [![Github Issues](https://img.shields.io/github/issues/benwinding/ngext.svg)](https://github.com/benwinding/ngext)

Introduction

Ngext is a tool which abstracts an angular application and drastically simplifies the routing. It has the following features:

Links

Get Started

Install

npm i -g ngext

Usage

Usage: ngext [options] [command]

Options:
  -v, --version      output the version number
  -h, --help         display help for command

Commands:
  new [ProjectName]  Creates a new project
  build              Builds the ngext app
  export             Exports the ngext app with SSR
  dev                Runs the ngext app locally
  help [command]     display help for command

Why use this?

Angular has many elegant abstractions, @Component, @Module, @Injectable. However, the routing in Angular is not a simple abstraction.

In order to add a new page, Angular routing requires that you edit 3 places; add a component file, declare component in a module, and add a route to a routing module.

comparison

This project attempts to encapsulate this into a single abstraction @PageComponent, which contains the component, dependencies and the route path which is generated from the page location. Making it easier than ever to add new pages to Angular apps.