我应该使用 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
我现在正在使用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