diff --git a/layouts/default.vue b/layouts/default.vue index 191051e..b37349c 100644 --- a/layouts/default.vue +++ b/layouts/default.vue @@ -1,6 +1,14 @@ diff --git a/modules/blog/index.ts b/modules/blog/index.ts new file mode 100644 index 0000000..18013d0 --- /dev/null +++ b/modules/blog/index.ts @@ -0,0 +1,23 @@ +import { defineNuxtModule } from '@nuxt/kit' +import {join} from "pathe"; + +export default defineNuxtModule({ + name: 'blog', + configKey: 'blog', + setup (options, nuxt) { + nuxt.hook('components:dirs', (dirs: any) => { + // Add ./components dir to the list + dirs.push({ + path: join(__dirname, 'components'), + }); + }); + + nuxt.options.router.extendRoutes = (routes, resolve) => { + routes.push({ + name: 'blog', + path: '/blog', + component: resolve(__dirname, 'pages/blog.vue') + }) + } + }, +}) diff --git a/modules/blog/pages/blog.vue b/modules/blog/pages/blog.vue new file mode 100644 index 0000000..0297d94 --- /dev/null +++ b/modules/blog/pages/blog.vue @@ -0,0 +1,11 @@ + + + diff --git a/modules/home/index.ts b/modules/home/index.ts new file mode 100644 index 0000000..cd0963d --- /dev/null +++ b/modules/home/index.ts @@ -0,0 +1,23 @@ +import { defineNuxtModule } from '@nuxt/kit' +import {join} from 'pathe'; + +export default defineNuxtModule({ + name: 'home', + configKey: 'home', + setup (options, nuxt) { + nuxt.hook('components:dirs', (dirs: any) => { + // Add ./components dir to the list + dirs.push({ + path: join(__dirname, 'components'), + }); + }); + + nuxt.options.router.extendRoutes = (routes, resolve) => { + routes.push({ + name: 'home', + path: '/home', + component: resolve(__dirname, 'pages/home.vue') + }) + } + }, +}) diff --git a/modules/home/pages/home.vue b/modules/home/pages/home.vue new file mode 100644 index 0000000..cde7019 --- /dev/null +++ b/modules/home/pages/home.vue @@ -0,0 +1,11 @@ + + + diff --git a/nuxt.config.ts b/nuxt.config.ts index 290bc81..f32024c 100644 --- a/nuxt.config.ts +++ b/nuxt.config.ts @@ -1,4 +1,5 @@ import { defineNuxtConfig } from 'nuxt3'; +import {join} from "pathe"; export default defineNuxtConfig({ build: { @@ -10,5 +11,14 @@ export default defineNuxtConfig({ } } }, - } + }, + + home: { + hello: 'there', + }, + + modules: [ + '~/modules/blog/index.ts', + '~/modules/home/index.ts', + ], }); diff --git a/pages/index.vue b/pages/index.vue index ecb2eff..7306ddc 100644 --- a/pages/index.vue +++ b/pages/index.vue @@ -1,3 +1,5 @@