mirror of https://github.com/rancher/dashboard.git
34 lines
930 B
Markdown
34 lines
930 B
Markdown
# Middleware
|
|
|
|
## Location
|
|
The definitions of middleware reside in `shell/middleware`. Middleware added to the object in `shell/nuxt/middleware.js` will be initialized at the start of the app rendering.
|
|
|
|
|
|
## Notes
|
|
This file was generated by nuxt and will soon be redefined by hand. It's safe to add new middleware to this file.
|
|
|
|
## Pattern
|
|
Define the middleware in a file that resides within `shell/middleware`. Then add the instantiation to the object that resides in `shell/nuxt/middleware.js`.
|
|
|
|
shell/middleware/i18n.js
|
|
```js
|
|
export default async function({
|
|
isHMR, app, store, route, params, error, redirect
|
|
}) {
|
|
// If middleware is called from hot module replacement, ignore it
|
|
if (isHMR) {
|
|
return;
|
|
}
|
|
|
|
await store.dispatch('i18n/init');
|
|
}
|
|
```
|
|
|
|
shell/nuxt/middleware.js
|
|
```js
|
|
...
|
|
middleware['i18n'] = require('../middleware/i18n.js')
|
|
middleware['i18n'] = middleware['i18n'].default || middleware['i18n']
|
|
...
|
|
```
|