From a448af45823c2dd9a25f0ff038a8009570f9cc25 Mon Sep 17 00:00:00 2001 From: xlfsummer <20750969+xlfsummer@users.noreply.github.com> Date: Thu, 12 Mar 2020 11:19:25 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20h5.router.base=20=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E7=9B=B8=E5=AF=B9=E8=B7=AF=E5=BE=84=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 优化了 indexOf/substr 的写法,使用 startsWith/endsWith 更加语义化 --- packages/uni-cli-shared/lib/manifest.js | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/packages/uni-cli-shared/lib/manifest.js b/packages/uni-cli-shared/lib/manifest.js index 535d0ea0..e8a832db 100644 --- a/packages/uni-cli-shared/lib/manifest.js +++ b/packages/uni-cli-shared/lib/manifest.js @@ -60,10 +60,10 @@ function getH5Options (manifestJson) { let base = h5.router.base - if (base.indexOf('/') !== 0) { + if (!base.startsWith('/') && !base.startsWith('./')) { base = '/' + base } - if (base.substr(-1) !== '/') { + if (!base.endsWith('/')) { base = base + '/' } @@ -72,11 +72,17 @@ function getH5Options (manifestJson) { if (process.env.NODE_ENV === 'production') { // 生产模式,启用 publicPath h5.publicPath = h5.publicPath || base - if (h5.publicPath.substr(-1) !== '/') { + if (!h5.publicPath.endsWith('/')) { h5.publicPath = h5.publicPath + '/' } } else { // 其他模式,启用 base - h5.publicPath = base + + if(base.startsWith('./')) { + // 在开发模式, publicPath 如果为 './' webpack-dev-server 匹配文件时会失败 + h5.publicPath = base.substr(1) + } else { + h5.publicPath = base + } } if (process.env.UNI_SUB_PLATFORM === 'mp-360') { -- GitLab