Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including pilotjs with all npm packages installed. Try it out:

var pilotjs = require("pilotjs")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

pilotjs v2.3.0

Multifunction JavaScript router.

Pilot v2

Multifunctional JavaScript router solves the problem of routing your application, providing full control over the route.

Get started

const router = Pilot.create({
    '#route-id': {
        url: '/:any?', // route pattern
        onroute(/**Pilot.Request*/req) {
        }
    }
});

// Запускаем перехват ссылок и history api
router.listenFrom(document, {autoStart: true});

// Где-то в коде
router.go('#route-id').then(() => ...);

API

  • create(stitemap: Object): Pilot
  • URL([url: string[, base: string]]) — see Native URL and
    • parse(url: string)
    • toMatcher(pattern: string|RegExp)
    • #properties
      • protocol: string
      • protocolSeparator: string
      • credhost: string
      • cred: string
      • username: string
      • password: string
      • host: string
      • hostname: string
      • port: string
      • origin: string
      • path: string or pathname
      • segment1: string
      • segment2: string
      • search: string
      • query: object
      • params: object
      • hash: string
    • #methods
      • addToQuery(add: object|string|null)
      • removeFromQuery(remove: string[])
      • setQuery(add: object|string|null[, remove: string[])
  • queryString
    • parse(value: string): object
    • stringify(query: object): string

Pilot livecycle

beforeroute

  • req:Pilot.Request

route

  • req:Pilot.Request
  • route:Pilot.Route

routefail

  • req:Pilot.Request
  • route:Pilot.Route
  • error:Error

routeend

  • req:Pilot.Request
  • route:Pilot.Route

Pilot methods and properties

model:Object

List of all models


request:Pilot.Request

Current Request.


activeUrl:URL

Active/Current URL.


route:Pilot.Route

Current route.


getUrl(id[, params[, query]]):string

  • id:string — route id
  • params:object — route parametrs (optional)
  • query:object|inherit — route GET-query parametrs (optional)

go(id[, params[, query]]):Promise

  • id:string — route id
  • params:object — route parametrs (optional)
  • query:object|inherit — route GET-query parametrs (optional)

nav(url):Promise

  • url:string

Pilot.Route methods and properties

model:Object

Local models.


init()

Protected method.


getUrl([params]):string

  • params:Object (optional)
  • query:object|inherit — route GET-query parametrs (optional)

is(id):boolean

id:string — route id or space-separated list

Metadata

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free