我应该使用 nginx 来重写 Nuxt.js

Should I use nginx to rewrite Nuxt.js

我现在正在使用Nuxt.js开发网站。

我在页面文件夹中写了一些页面。

Pages/
  Index.vue
  profile/
     Index.vue

然后,当我访问

http://www.mywebsite.com/
http://www.mywebsite.com/profile

将在 Pages/ 和 profiles/

中显示 Index.vue

现在,我需要我的网站使用url来定义网站的语言,比如

http://www.mywebsite.com/en/   English
http://www.mywebsite.com/ja/profile  Japanese

所以我使用 nginx 和 proxy_pass 并重写来解决这个问题 我使用下面的配置

proxy_pass http://localhost:7777;
rewrite ^/cn/(.*) / last;

在开发中(运行 npm dev / nuxt),站点将呈现重定向页面并立即转到空白页面并显示错误。据说服务器和客户端不同步。

我认为问题是开发模式会自动重新加载,所以服务器可以检测到 url 与页面路径不同。

那我试试运行

nuxt build
npm start

网站搭建完成,重定向成功。

这里有一些问题

1) 使用"npm dev"时如何停止检测?如果我 运行 "npm start" ,即使我更新文件,页面也不会再更新。

2) 我将检测 url 的语言并加载不同语言的 json 文件。这会影响 Nuxt.js 的服务器端渲染吗?

3) 还有其他更简单的方法可以解决我的问题吗?或者任何 nuxt/vue 可以执行 "lang in URL" 并让服务器正确呈现所有语言的页面?

对于2)和3),其实还有更简单的方法,不用nginx

https://github.com/nuxt-community/nuxt-i18n

您可以在此处找到您想要实现的目标的确切示例

https://nuxt-community.github.io/nuxt-i18n/routing.html#routing