From 54404abb47c77c2d7d9b39ec4fa7a9969bd9c080 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=87=E7=BA=AF?= Date: Tue, 2 Mar 2021 19:19:08 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=20=E4=BC=98=E5=8C=96router.mode?= =?UTF-8?q?=EF=BC=8C=E6=94=AF=E6=8C=81=E5=85=A8=E9=83=A8=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/plugins/misc/route/index.js | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/packages/fes-preset-built-in/src/plugins/misc/route/index.js b/packages/fes-preset-built-in/src/plugins/misc/route/index.js index 390930ce..509e997a 100644 --- a/packages/fes-preset-built-in/src/plugins/misc/route/index.js +++ b/packages/fes-preset-built-in/src/plugins/misc/route/index.js @@ -170,7 +170,8 @@ const fix = function (routes) { const getRoutes = function ({ config, absPagesPath }) { // 用户配置了routes则使用用户配置的 - if (config.router.routes) return config.router.routes; + const configRoutes = config.router.routes; + if (configRoutes && configRoutes.length > 0) return configRoutes; const routes = []; genRoutes(routes, absPagesPath, '/', config); @@ -224,7 +225,9 @@ export default function (api) { mode: joi.string() }); }, - default: {} + default: { + mode: 'hash' + } } }); @@ -260,9 +263,16 @@ export default function (api) { const absRuntimeFilePath = join(namespace, 'runtime.js'); + const historyType = { + h5: 'createWebHistory', + hash: 'createWebHashHistory', + memory: 'createMemoryHistory' + }; + api.onGenerateFiles(async () => { const routesTpl = readFileSync(join(__dirname, 'template/routes.tpl'), 'utf-8'); const routes = await api.getRoutesJSON(); + api.writeTmpFile({ path: absCoreFilePath, content: Mustache.render(routesTpl, { @@ -270,7 +280,7 @@ export default function (api) { routes, config: api.config, routerBase: api.config.base || '', - CREATE_HISTORY: api.config.router.mode === 'history' ? 'createWebHistory' : 'createWebHashHistory' + CREATE_HISTORY: historyType[api.config.router.mode] || 'createWebHashHistory' }) });