小编kam*_*hen的帖子

Nextjs - 在服务器端访问 url 参数

我正在使用官方的with-apollo示例来创建 nextjs 前端。我正在尝试使用用户的 slug,它可以在 url 字符串中找到来呈现用户配置文件。但是,我无法使用 url 参数(slug)作为 graphql 查询中的变量。

用户个人资料的链接

<Link href={{ pathname: "/users/[slug]", query: { slug: user.slug } }}>
Run Code Online (Sandbox Code Playgroud)

用户配置文件组件

import { gql, useQuery } from "@apollo/client"
import ErrorMessage from "./ErrorMessage"
import { useRouter } from "next/router";

export const USER_QUERY = gql`
  query getUser($slug: String!) {
    user(slug: $slug) {
      id
      email
    }
  }
`

// I can not get this to work using url parameters
export const userQueryVars = {
  slug: "userSlug", // This should be …
Run Code Online (Sandbox Code Playgroud)

javascript apollo reactjs next.js

9
推荐指数
1
解决办法
3万
查看次数

nuxtjs 中的外部 Javascript 文件

我在旧教程的基础上建立了一个网站,该教程使用 3 个外部 js 文件。我无法使用 nuxtjs 重新创建它。

首先,我尝试在标签之前包含 js 文件。

nuxt.config.js

head: {
    script: [
      { src: 'js/imagesloaded.pkgd.min.js', type: 'text/javascript', body: true, defer: true },
      { src: 'js/TweenMax.min.js', type: 'text/javascript', body: true, defer: true },
      { src: 'js/demo.js', type: 'text/javascript', body: true, defer: true }
    ]
  },
Run Code Online (Sandbox Code Playgroud)

这适用于初始页面加载。但是,一旦我更改页面,js 文件就会被忽略。


经过一番研究,我尝试将这些文件作为插件包含在内,以避免 ssr。

nuxt.config.js

plugins: [
    { src: "plugins/imagesloaded.pkgd.min.js", mode: 'client' },
    { src: "plugins/TweenMax.min.js", mode: 'client' },
    { src: "plugins/demo.js", mode: 'client' }
  ],
Run Code Online (Sandbox Code Playgroud)

这给了我多个错误消息(其中包括:)'Cannot …

javascript vue.js nuxt.js

7
推荐指数
1
解决办法
1248
查看次数

标签 统计

javascript ×2

apollo ×1

next.js ×1

nuxt.js ×1

reactjs ×1

vue.js ×1