Skip to content

Commit 5b7fd74

Browse files
Fix #259 : fix some problems of example prtoject lazy-loading/webpack
fix these problems: 1. return 404 when user directly access page or refresh page if current page's path is not '/' 2. jump to default home page when directly access a specific language page 3. jump to default home page in some case when switch the language label do also: 1. redirect to default home page when access a specific language page that does not exit
1 parent 844b914 commit 5b7fd74

File tree

4 files changed

+13
-12
lines changed

4 files changed

+13
-12
lines changed

examples/lazy-loading/webpack/src/App.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ export default defineComponent({
3535
// when change the locale, go to locale route
3636
watch(locale, val => {
3737
router.push({
38-
name: route.name,
38+
name: router.currentRoute._rawValue.name,
3939
params: { locale: val }
4040
})
4141
})

examples/lazy-loading/webpack/src/i18n.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,9 @@ export async function loadLocaleMessages(i18n, locale) {
2828
const messages = await import(
2929
/* webpackChunkName: "locale-[request]" */ `./locales/${locale}.json`
3030
)
31+
32+
// set locale and locale message
3133
i18n.global.setLocaleMessage(locale, messages.default)
34+
setI18nLanguage(i18n, locale)
3235
}
3336
}

examples/lazy-loading/webpack/src/router.js

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { createRouter, createWebHistory } from 'vue-router'
2-
import { setI18nLanguage, loadLocaleMessages } from './i18n'
2+
import { loadLocaleMessages } from './i18n'
33

44
import Home from './pages/Home.vue'
55
import About from './pages/About.vue'
@@ -35,18 +35,15 @@ export function setupRouter(i18n) {
3535

3636
// navigation guards
3737
router.beforeEach((to, from, next) => {
38-
const locale = to.params.locale
38+
const paramsLocale = to.params.locale
3939

40-
// check locale
41-
if (!SUPPORT_LOCALES.includes(locale)) {
42-
return false
40+
// use locale if paramsLocale is not in SUPPORT_LOCALES
41+
if (!SUPPORT_LOCALES.includes(paramsLocale)) {
42+
return next(`/${locale}`)
4343
}
4444

45-
// load locale messages
46-
loadLocaleMessages(i18n, locale)
47-
48-
// set i18n language
49-
setI18nLanguage(i18n, locale)
45+
// load locale messages and set i18n language
46+
loadLocaleMessages(i18n, paramsLocale)
5047

5148
return next()
5249
})

examples/lazy-loading/webpack/webpack.config.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ module.exports = (env = {}) => ({
6969
hot: true,
7070
stats: 'minimal',
7171
contentBase: __dirname,
72-
overlay: true
72+
overlay: true,
73+
historyApiFallback: true // 404s will fallback to /index.html
7374
}
7475
})

0 commit comments

Comments
 (0)