init
This commit is contained in:
124
typescript-version/nuxt.config.ts
Normal file
124
typescript-version/nuxt.config.ts
Normal file
@@ -0,0 +1,124 @@
|
||||
import { fileURLToPath } from 'node:url'
|
||||
import svgLoader from 'vite-svg-loader'
|
||||
import vuetify from 'vite-plugin-vuetify'
|
||||
|
||||
// https://nuxt.com/docs/api/configuration/nuxt-config
|
||||
export default defineNuxtConfig({
|
||||
app: {
|
||||
head: {
|
||||
titleTemplate: '%s - NuxtJS Admin Template',
|
||||
title: 'Sneat',
|
||||
|
||||
link: [{
|
||||
rel: 'icon',
|
||||
type: 'image/x-icon',
|
||||
href: `${process.env.NUXT_APP_BASE_URL}/favicon.ico`,
|
||||
}],
|
||||
},
|
||||
},
|
||||
|
||||
devtools: {
|
||||
enabled: true,
|
||||
},
|
||||
|
||||
css: [
|
||||
'@core/scss/template/index.scss',
|
||||
'@styles/styles.scss',
|
||||
'@/plugins/iconify/icons.css',
|
||||
'@layouts/styles/index.scss',
|
||||
],
|
||||
|
||||
components: {
|
||||
dirs: [{
|
||||
path: '@/@core/components',
|
||||
pathPrefix: false,
|
||||
}, {
|
||||
path: '~/components/global',
|
||||
global: true,
|
||||
}, {
|
||||
path: '~/components',
|
||||
pathPrefix: false,
|
||||
}],
|
||||
},
|
||||
|
||||
plugins: ['@/plugins/vuetify/index.ts', '@/plugins/iconify/index.ts'],
|
||||
|
||||
imports: {
|
||||
dirs: ['./@core/utils', './@core/composable/', './plugins/*/composables/*'],
|
||||
},
|
||||
|
||||
hooks: {},
|
||||
|
||||
experimental: {
|
||||
typedPages: true,
|
||||
},
|
||||
|
||||
typescript: {
|
||||
tsConfig: {
|
||||
compilerOptions: {
|
||||
paths: {
|
||||
'@/*': ['../*'],
|
||||
'@layouts/*': ['../@layouts/*'],
|
||||
'@layouts': ['../@layouts'],
|
||||
'@core/*': ['../@core/*'],
|
||||
'@core': ['../@core'],
|
||||
'@images/*': ['../assets/images/*'],
|
||||
'@styles/*': ['../assets/styles/*'],
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
// ℹ️ Disable source maps until this is resolved: https://github.com/vuetifyjs/vuetify-loader/issues/290
|
||||
sourcemap: {
|
||||
server: false,
|
||||
client: false,
|
||||
},
|
||||
|
||||
vue: {
|
||||
compilerOptions: {
|
||||
isCustomElement: tag => tag === 'swiper-container' || tag === 'swiper-slide',
|
||||
},
|
||||
},
|
||||
|
||||
vite: {
|
||||
define: { 'process.env': {} },
|
||||
|
||||
resolve: {
|
||||
alias: {
|
||||
'@': fileURLToPath(new URL('.', import.meta.url)),
|
||||
'@core': fileURLToPath(new URL('./@core', import.meta.url)),
|
||||
'@layouts': fileURLToPath(new URL('./@layouts', import.meta.url)),
|
||||
'@images': fileURLToPath(new URL('./assets/images/', import.meta.url)),
|
||||
'@styles': fileURLToPath(new URL('./assets/styles/', import.meta.url)),
|
||||
'@configured-variables': fileURLToPath(new URL('./assets/styles/variables/_template.scss', import.meta.url)),
|
||||
},
|
||||
},
|
||||
|
||||
build: {
|
||||
chunkSizeWarningLimit: 5000,
|
||||
},
|
||||
|
||||
optimizeDeps: {
|
||||
exclude: ['vuetify'],
|
||||
entries: [
|
||||
'./**/*.vue',
|
||||
],
|
||||
},
|
||||
|
||||
plugins: [
|
||||
svgLoader(),
|
||||
vuetify({
|
||||
styles: {
|
||||
configFile: 'assets/styles/variables/_vuetify.scss',
|
||||
},
|
||||
}),
|
||||
],
|
||||
},
|
||||
|
||||
build: {
|
||||
transpile: ['vuetify'],
|
||||
},
|
||||
|
||||
modules: ['@vueuse/nuxt', '@nuxtjs/i18n', '@nuxtjs/device', '@pinia/nuxt'],
|
||||
})
|
||||
Reference in New Issue
Block a user