export default defineNuxtRouteMiddleware(async(to, from) => {
const loggedIn = useState('loggedIn', () => false)
if(loggedIn.value == false) {
if(to.path == '/auth/login') {
await navigateTo(to.path)
}else if(to.path == '/') {
await navigateTo('/auth/login')
}else if(!(to.path == '/auth/login') or !(to.path == '/')) {
//return abortNavigation()
await navigateTo('/auth/login')
}else {
return abortNavigation()
}
}else {
console.log('to:', to.path)
console.log('from:', from.path)
await navigateTo(to.path)
}
})
Run Code Online (Sandbox Code Playgroud)
如果我浏览到以下几行,问题是"await navigateTo('/auth/login')"上面的代码不起作用".../dashboard",但当任何页面至少有一个"await navigateTo('/dashboard')". 它也适用于"return abortNavigation"
---
"else if(!(to.path == '/auth/login') or !(to.path == '/')) { …Run Code Online (Sandbox Code Playgroud) 有没有办法在 Nuxt 3 中设置自定义自动导入?我使用 Pinia,我的商店位于 /stores 下的根目录中。例如,如果我想在组件中使用 /stores/auth.store.ts 中的商店,我总是必须像这样导入商店:
import { useCourseStore } from '~~/stores/course.store';。
我尝试提供一个可在 Nuxt 插件中的所有可组合项和应用程序中使用的帮助程序,代码如下所示:
// hello.ts
export default defineNuxtPlugin(async nuxtApp => {
nuxtApp.vueApp.provide('hello', (name: string) => `Hello ${name}!`);
nuxtApp.provide('hello', (name: string) => `Hello ${name}!`)
});
Run Code Online (Sandbox Code Playgroud)
之后,我尝试通过useNuxtApp()在可组合项中使用来调用帮助器,如下所示,但是, useNuxtApp()` 返回的类型未知。
// useHello.ts
export default async function() {
const nuxtApp = useNuxtApp()
console.log(nuxtApp.$hello('name'))
}
Run Code Online (Sandbox Code Playgroud)
我得到的错误是nuxtApp.$hello' is of type 'unknown'.
我已遵循文档,但我不明白为什么它返回类型未知。
我错过了什么吗?也许在 nuxt.config.ts 中?
我将衷心感谢您的帮助。
我正在尝试使用来自 api 的动态数据填充页面标题和元标记,以实现 seo 目的。但无法在查看页面源中获取它
我尝试过具有反应性属性的 useHead、useSeoMeta 和 useServerSeoMeta 。但所有这些函数都是在获取 api 响应之前调用的。有没有办法在查看源页面中获取动态元数据?
我没有对我的代码进行任何更改。当我构建我的应用程序时,它可以工作,但在开发中,它向我显示以下错误:npm run dev
我尝试重建应用程序,删除所有node_modules,并安装和更新依赖项。
这是跟踪:
at async $fetchRaw2 (/D:/IAICB-70/inteliaiclipboard/node_modules/ofetch/dist/shared/ofetch.502a4799.mjs:180:24)
at async /D:/IAICB-70/inteliaiclipboard/.nuxt/dev/index.mjs:745:20
at async /D:/IAICB-70/inteliaiclipboard/.nuxt/dev/index.mjs:826:64
at async /D:/IAICB-70/inteliaiclipboard/.nuxt/dev/index.mjs:378:22
at async Object.handler (/D:/IAICB-70/inteliaiclipboard/node_modules/h3/dist/index.mjs:1196:19)
at async toNodeHandle (/D:/IAICB-70/inteliaiclipboard/node_modules/h3/dist/index.mjs:1271:7)
at async Object.ufetch [as localFetch] (/D:/IAICB-70/inteliaiclipboard/node_modules/unenv/runtime/fetch/index.mjs:9:17)
at async Object.errorhandler [as onError] (/D:/IAICB-70/inteliaiclipboard/.nuxt/dev/index.mjs:462:30)
at async Server.toNodeHandle (/D:/IAICB-70/inteliaiclipboard/node_modules/h3/dist/index.mjs:1278:9)
Run Code Online (Sandbox Code Playgroud) 我正在尝试在 Plesk 上部署 Nuxt 3 网站,并使用纱线构建进行编译。因此,我拥有 Plesk 托管上的 PUBLIC 和 SERVER 文件夹。
我有 server.js 文件,如下所示:
`const app = require('./.output/server/index.mjs'); const http = require('http');
http.createServer(app).listen(process.env.PORT);`
我找不到 Nuxt 3 的单个指南,我需要启动该应用程序。但根据我的理解,Phusion 应该在不启动手动启动命令的情况下启动进程?
非常感谢
这与我关于 Nuxt 3 API 安全性的其他问题有关。如何添加 CORS?目前,使用头盔模块对我来说不起作用。
这是我上一个问题 Nuxt 3 阻止其他网站、应用程序或域访问我的 API?
nuxt3 ×8
nuxt.js ×5
vue.js ×3
nuxtjs3 ×2
vuejs3 ×2
meta-tags ×1
middleware ×1
navigation ×1
node.js ×1
passenger ×1
phusion ×1
pinia ×1
plesk ×1
typescript ×1