Skip to content

Commit

Permalink
Simplify resolve page for vite
Browse files Browse the repository at this point in the history
  • Loading branch information
ycs77 committed Jun 18, 2022
1 parent 9b42f68 commit f69c1cd
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 10 deletions.
10 changes: 5 additions & 5 deletions README.md
Expand Up @@ -114,14 +114,14 @@ export default defineConfig({
})
```

And use `resolvePage()` in `resources/js/app.js` to resolve the app pages and namespaced pages:
And use `resolvePage()` in `resources/js/app.js` to resolve the app pages and namespaced pages (**don't use one line function**):

```js
import { resolvePage, resolveVitePage } from '~inertia'
import { resolvePage } from '~inertia'

createInertiaApp({
resolve: resolvePage(name => {
return resolveVitePage(name, import.meta.glob('./pages/**/*.vue'))
resolve: resolvePage(() => {
return import.meta.glob('./pages/**/*.vue')
}),
})
```
Expand All @@ -133,7 +133,7 @@ import Layout from './Layout'

createInertiaApp({
resolve: resolvePage(name => {
return resolveVitePage(name, import.meta.glob('./pages/**/*.vue'))
return import.meta.glob('./pages/**/*.vue')
}, page => {
page.layout = Layout
return page
Expand Down
2 changes: 1 addition & 1 deletion client.d.ts
@@ -1,5 +1,5 @@
declare module '~inertia' {
export function resolvePage<T = any>(resolver: (name: string) => T, transformPage?: (page: T) => T): (name: string) => T
export function resolvePage<T = any>(resolver: (name: string) => any, transformPage?: (page: T) => T): (name: string) => any
export function resolvePluginPage<T = any>(name: string): Promise<T>
export function resolveVitePage<T = any>(name: string, pages: Record<string, any>, throwNotFoundError?: boolean): T
}
6 changes: 3 additions & 3 deletions playground/app.ts
@@ -1,6 +1,6 @@
import { createApp, h } from 'vue'
import { App, plugin } from '@inertiajs/inertia-vue3'
import { resolvePage, resolveVitePage } from '~inertia'
import { resolvePage } from '~inertia'

createApp({
mounted() {
Expand All @@ -18,8 +18,8 @@ createApp({
url: '/',
version: '',
},
resolveComponent: resolvePage((name: string) => {
return resolveVitePage(name, import.meta.glob('./pages/**/*.vue'))
resolveComponent: resolvePage(() => {
return import.meta.glob('./pages/**/*.vue')
}),
}),
})
Expand Down
6 changes: 5 additions & 1 deletion src/page-loader/index.ts
Expand Up @@ -10,7 +10,11 @@ export function resolvePage(resolver, transformPage) {
return async name => {
let page = await resolvePluginPage(name)
if (!page) {
page = await resolver(name)
page = ${
meta.framework === 'vite'
? 'resolveVitePage(name, await resolver(name))'
: 'await resolver(name)'
}
}
page = page.default || page
if (transformPage) {
Expand Down

0 comments on commit f69c1cd

Please sign in to comment.