nuxt.config.ts 文件位于Nuxt项目的根目录下,可以覆盖或扩展应用程序的行为。
srcDir
定义Nuxt应用程序的源目录。默认是根目录 “/
srcDir: 'src/'
这将适用于以下文件夹结构:
-| app/
---| node_modules/
---| nuxt.config.js
---| package.json
---| src/
------| assets/
------| components/
------| layouts/
------| middleware/
------| pages/
------| plugins/
------| static/
------| store/
------| server/
dirs 添加自动导入目录
自定义自动导入的目录数组。请注意,此选项不会覆盖默认目录(~/composables, ~/utils)
🙌🌰:
imports: {
// Auto-import pinia stores defined in `~/stores`
dirs: ['stores']
}
alias 路径别名
nuxt 默认配置
{
"~~": "/<rootDir>",
"@@": "/<rootDir>",
"~": "/<rootDir>",
"@": "/<rootDir>",
"assets": "/<rootDir>/assets",
"public": "/<rootDir>/public"
}
alias: {
'images': fileURLToPath(new URL('./assets/images', import.meta.url)),
'style': fileURLToPath(new URL('./assets/style', import.meta.url)),
'data': fileURLToPath(new URL('./assets/other/data', import.meta.url))
}
buildDir
构建目录,默认"/<rootDir>/.nuxt"
🙌🌰:
buildDir: 'nuxt-build'
app
Nuxt 应用程序配置。
baseURL
Nuxt 应用程序的基本路径,默认为 ‘/‘,通常不需要调整,如果有部署到GitHub Pages等需求可以调整 :::info
- 如果你要部署在 https://
.github.io/ 上,你可以省略 base 使其默认为 ‘/‘。 - 如果你要部署在 https://
.github.io/ / 上,例如你的仓库地址为 https://github.com/ / ,那么请设置 baseUrl 为 ‘/ /‘ ::: head
在每个页面上设置默认配置。默认值为
{
"meta": [
{
"name": "viewport",
"content": "width=device-width, initial-scale=1"
},
{
"charset": "utf-8"
}
],
"link": [],
"style": [],
"script": [],
"noscript": []
}
interface MetaObject {
title?: string
titleTemplate?: string | ((title?: string) => string)
templateParams?: Record<string, string | Record<string, string>>
base?: Base
link?: Link[]
meta?: Meta[]
style?: Style[]
script?: Script[]
noscript?: Noscript[];
htmlAttrs?: HtmlAttributes;
bodyAttrs?: BodyAttributes;
}
🙌🌰:
app: {
head: {
meta: [
{ charset: "utf-8" },
{ name: "viewport", content: "width=device-width, initial-scale=1" },
{
hid: "keywords",
name: "keywords",
content: "公司名称 产品名称1 产品名称2 各种关键词",
},
{
hid: "description",
name: "description",
content: "详细描述,公司描述、产品描述等等等等",
},
{ name: "format-detection", content: "telephone=no" },
],
link: [
{ rel: "stylesheet", href: "https://awesome-lib.css" },
{ rel: "icon", type: "image/x-icon", href: "/favicon.svg" },
],
script: [
{ src: "https://awesome-lib.js" },
{ src: "https://hm.baidu.com/hm.js?xxxxxxxxxxxxxxxxxx" },
],
noscript: [
// <noscript>JavaScript is required</noscript>
{ children: "JavaScript is required" },
],
},
},
keepalive
默认 false
layoutTransition
pageTransition
rootId
默认”__nuxt”
自定义Nuxt根元素ID。
rootTag
css 全局 css
css: [
'@/assets/styles/animate.css',
'@/assets/styles/normalize.css',
'@/assets/styles/global.less'
],
modules
模块是Nuxt扩展,可以扩展其核心功能并添加无穷无尽的集成。
🙌🌰:
modules: [
// Using package name
'@nuxtjs/axios',
// Relative to your project srcDir
'~/modules/awesome.js',
// Providing options
['@nuxtjs/google-analytics', { ua: 'X1234567' }],
// Inline definition
function () {}
]
:::info 注意:模块是按顺序执行的,因此顺序很重要。 :::