UNPKG

@ray-js/router

Version:

Ray Core

46 lines (44 loc) 1.1 kB
import "core-js/modules/es.regexp.exec.js"; import "core-js/modules/es.string.replace.js"; import "core-js/modules/web.dom-collections.iterator.js"; 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;