扩展 Nuxt 3 配置 - 添加导入路径的别名

问题描述 投票:0回答:2

我将

nuxt 3.2.0
Vite
一起使用。在 Nuxt 3 项目的 Nuxt 配置(即
nuxt.config.ts
)中,如果要添加路径别名,可以将其添加到
alias
属性(参见文档)。

我为组件目录添加了一个别名:

// ...
alias: {
  '@/*': './components/*'
},
// ...

它已添加到

.nuxt/tsconfig.json

"@/*": [
  "./components/*"
],

如果我尝试使用该别名导入某些内容,则不会出现智能感知错误,并且我可以按住 Ctrl 键单击路径并访问该文件。

import { some } from '@/Something/something';

但是编译器崩溃了,出现了 500 错误,

"Vite Error"
[[vite-node] [ERR_LOAD_URL]:
,我也得到了
Failed to load url /Something/something

所以该路径不包含别名。

如果我将其更改为相对路径,它就起作用了:

import { some } from './something';

不知道我是否漏掉了什么?

typescript nuxt.js vite tsconfig
2个回答
1
投票

我不太确定,但认为你混淆了一些事情。因此尝试编辑/更正您的答案。

你的

nuxt.config.ts
必须看起来像这样:

export default defineNuxtConfig({
    alias: {
        "@Components": "./components",
    }
})

要在您的代码库中启用以下导入语句:

import { some } from '@Components/something';

我认为你的问题的根源在于你的配置中使用

/*

正如您正确指出的那样,tsconfig 由 Nuxt 自动生成。


0
投票

@Galivan 您可能不需要您已完成的自定义配置。当查看 Nuxt3 中有关

alias
的默认配置代码时,已经配置了一些有用的默认值。

https://github.com/nuxt/nuxt/blob/main/packages/schema/src/config/common.ts#L309

  • @
    ~
    都带你到
    srcDir
  • 的根源
  • 如果您想从根开始参考,您可以使用
    @@
    ~~

注意:如果您使用 Webpack,则图像和 CSS 导入 has 可以使用波浪号 (~) 进行引用。 https://github.com/nuxt/nuxt/blob/main/packages/schema/src/config/common.ts#L309

因为我使用

components
文件夹,所以我的 Nuxt 配置中有以下内容:

components: [
  {
    path: "~/components",
    pathPrefix: false,
  },
],

https://nuxt.com/docs/api/configuration/nuxt-config#components

如果你想为你的组件目录设置一个别名,我相信它应该看起来像这样:

alias: {
  'components': fileURLToPath(new URL('./components', import.meta.url)),
}

https://nuxt.com/docs/api/configuration/nuxt-config#alias

© www.soinside.com 2019 - 2024. All rights reserved.