NuxtJS3 + Nuxt auth-next - 无法读取未定义的属性(读取"选项")



我使用NuxtJS3与@nuxtjs/auth-next,当我做npm install时,我得到这个错误

ERROR不能读取未定义的属性(读取'options') 00:10:01@nuxtjs/axios/lib/module.js:12:13@ node_modules/@nuxt/kit/dist/index.mjs:416:9在async initnuext (node_modules/nuext/dist/index.mjs:1825:7)node_modules/nuxt/dist/index.mjs:1857:5@nuxt/kit/dist/index.mjs:493:19async对象。调用(node_modules nuxi/dist/块/prepare.mjs: 30:18)async _main (node_modules/nuxi/dist/cli.mjs:50:20)

出现此错误时,我无法启动应用程序。我试着在SO上四处看看,但没有运气。我试着看一些已知的bug,也没有成功。

这是我的package.json文件:
{
"private": true,
"scripts": {
"build": "nuxt build",
"dev": "nuxt dev",
"generate": "nuxt generate",
"preview": "nuxt preview",
"lint": "eslint --ext .ts,.js,.vue, --ignore-path .gitignore . && prettier . --write",
"format": "prettier . --write",
"postinstall": "nuxt prepare",
"prepare": "husky install"
},
"husky": {
"hooks": {
"pre-commit": "npm run lint"
}
},
"devDependencies": {
"@fortawesome/fontawesome-free": "^6.2.0",
"@typescript-eslint/eslint-plugin": "^5.35.1",
"@typescript-eslint/parser": "^5.35.1",
"@vue/eslint-config-typescript": "^11.0.0",
"eslint": "^8.22.0",
"eslint-config-prettier": "^8.5.0",
"eslint-plugin-prettier": "^4.2.1",
"eslint-plugin-vue": "^9.4.0",
"husky": "^8.0.0",
"nuxt": "3.0.0",
"prettier": "^2.7.1",
"typescript": "^4.7.4",
"vite": "^3.0.9",
"vite-plugin-eslint": "^1.8.1",
"vite-plugin-vuetify": "^1.0.0",
"vue-eslint-parser": "^9.0.3",
"vuetify": "^3.0.1"
},
"dependencies": {
"@mdi/font": "^7.0.96",
"@nuxtjs/auth-next": "^5.0.0-1622020005.1b3f5f5",
"@nuxtjs/axios": "^5.13.6",
"@pinia/nuxt": "^0.4.6"
}
}

这是我的nuxt.config.ts文件:

import vuetify from "vite-plugin-vuetify";
import eslintPlugin from "vite-plugin-eslint";
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
export default defineNuxtConfig({
css: ["vuetify/styles"], // vuetify ships precompiled css, no need to import sass
vite: {
ssr: {
noExternal: ["vuetify"] // add the vuetify vite plugin
},
plugins: [eslintPlugin()]
},
modules: [
"@nuxtjs/axios",
"@nuxtjs/auth-next",
"@pinia/nuxt",
// this adds the vuetify vite plugin
async (options, nuxt) => {
nuxt.hooks.hook("vite:extendConfig", (config) =>
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore TODO try to delete this ts-ignore after vuetify will be stable
config.plugins.push(vuetify())
);
}
],
/*
** Auth module configuration
** See https://auth.nuxtjs.org/api/options.html
*/
auth: {
strategies: {
google: {
client_id: "my id"
}
},
redirect: {
login: "/login",
logout: "/",
callback: "/login",
home: "/"
}
},
axios: {},
alias: {
pinia: "/node_modules/@pinia/nuxt/dist/pinia.mjs"
}
});

我真的不知道为什么我得到这个错误。我试着用纱线做,但没有成功。我也尝试了@nuxtjs/auth,也没有运气。是否有办法使用NuxtJS认证与NuxtJS3?

截至目前,这是此处确认的唯一可以与Nuxt3一起使用的验证模块。团队正在做一个官方的,它在路线图上,但还没有完成。

你可以关注Github的问题,以获得一些更新和更多的信息。


你也可以尝试在谷歌上搜索一篇关于这个主题的博客文章,并在中间件上使用可组合的和一些检查来实现它。

最新更新