UNPKG

@ray-js/router

Version:

Ray Core

43 lines (41 loc) 947 B
import { createHistory } from './history'; import { Router } from './Router'; import { RouterScheduler } from './RouterScheduler'; const scheduler = window.__ray__routerScheduler__ = new RouterScheduler(); const router = window.__ray__router__ = new Router({ scheduler }); export function createRouter(options) { const { basename, onChange, routes, tabBar, pages } = options; const history = createHistory({ basename, scheduler, onChange: function () { router.$href = window.location.href; onChange(...arguments); } }); // 设置路由基准路径 router.scheduler.basename = basename || '/'; // 调度器注册页面 router.scheduler.registryPages({ routes, tabBar, pages }); const { pathname, search, hash } = history.location; // 首次触发 history change history.replace(pathname + search + hash); return router; } export default router;