小编Bil*_*ack的帖子

如何在 Next.js 中为非默认语言环境生成动态路径?

我正在使用 next-i18next 构建一个具有国际化功能的 Next.js 应用程序。为我的网站的所有页面生成英语和法语页面,但具有动态路由的页面除外:(即blog/[id]/[blog-title])。对于具有动态路由的页面,会生成英语页面,但不会生成法语页面。

我应该指出,两种语言的博客条目都是相同的。因此,如果用户单击列表中的博客条目,他们将获得相同的博客条目。

当法语用户访问具有动态路由的页面时,他们会收到 404。我是 React 和 Next 的新手,所以我可能会在这里做一些愚蠢的事情。

// next-i18next.config.js
module.exports = {
  i18n: {
    locales: ['en', 'fr'],
    defaultLocale: 'en',
    localeDetection: true,
  },
}
Run Code Online (Sandbox Code Playgroud)
//
// blog\[id]\[title] 
//
export async function getStaticPaths() {
  const response = await axios.get('https://api.myappi.com/blog')
  const posts = response.data

  const paths = posts.map((post: Props) => ({
    params: { id: post.Id, title: post.Title },
  }))  
 
  return { paths, fallback: false }
}

export async function getStaticProps(props: IStaticProps) {
  const { id, locale …
Run Code Online (Sandbox Code Playgroud)

javascript internationalization next.js

12
推荐指数
1
解决办法
6269
查看次数

react-stripe-elements CardElement 抛出跨域错误

我正在尝试使用 react-stripe-elements 在我的 React JS 应用程序中创建一个 Stripe 支付表单。当我使用该组件时,我收到以下消息。

错误:引发了跨域错误。React 无权访问开发中的实际错误对象。

如果我使用单个元素组件(即CardExpiryElement, CardCVCElement, PostalCodeElement),我就不会出错。

有人有什么想法吗?谢谢。

reactjs react-stripe-elements

5
推荐指数
1
解决办法
372
查看次数

Vue index.html网站图标问题

我正在使用Vue 2.0和Vue CLI 3.0。我正在尝试使favicon.ico / png文件正常工作,并且根本没有运气。

我将问题缩小到以下范围。

由yarn build生成的index.html文件将转换以下html代码行:

<link rel="icon" href="favicon.png" >
Run Code Online (Sandbox Code Playgroud)

至...

<!--[if IE]><link rel="icon" href="favicon.png"><![endif]-->
Run Code Online (Sandbox Code Playgroud)

如果我使用Chrome开发人员工具并将行改回原来的方式,则ico / png文件将按预期方式呈现。

我的问题是:我该如何解决这个问题,以使纱线构建不再弄乱我的html代码。

vue.js vuejs2 vue-cli-3

4
推荐指数
1
解决办法
1837
查看次数

Vue JS数据绑定不适用于img src

我正在使用vue 2和vue-cli3。我正在尝试将标签的src绑定到数据中的变量。

具体来说,我正在执行以下操作:

<img class="img-time-matters" :src="`./../assets/time-comparison-${locale}.png`">

export default {
   name: "home",
   components: {},  
   data() {
       return {
           locale: locale // 'en'
       };
   }
}
Run Code Online (Sandbox Code Playgroud)

装订作品

使用Chrome开发人员工具并检查网络活动,我发现绑定有效:

http:// localhost:8080 / assets / time-comparison-en.png

但是,找不到资源。

如果我在硬代码中删除数据绑定,则课程路径为:

<img class="img-time-matters" :src="`./../assets/time-comparison-en.png`">
Run Code Online (Sandbox Code Playgroud)

Vue解析资源链接以在以下位置查找图像:

http:// localhost:8080 / img / time-comparison-zh.74a6f0ca.png

我如何以正确解析绑定的方式获取Vue数据绑定(即time-comparison-en.74a6f0ca.png)。

谢谢!

data-binding src vuejs2

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