我要解决的问题是:有一个公共部分需要ssr进行seo。但也有一个应用程序,seo是不需要的,为它是spa。我没有next js的经验。所以问题是,有没有可能"嵌入"next js中的spa应用程序。我很乐意得到任何信息
react-router-dom不能与next js一起工作,因为水合过程
我会把这两个应用分开,因为它们有不同的架构,这样会更简单。听起来你的SPA也可能是安全的,这就是为什么它不需要SEO。
一个好的技术可以是将两个应用程序构建为静态内容,然后实现像这样的公共url:
- https://www.example.com
- https://www.example.com/public
这两个构建的应用程序都可能被部署到内容交付网络中。另一个常见的选择是使用反向代理,如NGINX或Kong。这个配置使用NGINX来提供SPA的静态内容,然后将请求路由到Next.js应用到Docker容器:
server {
server_name reverseproxy;
listen ssl 443;
location / {
root /usr/share/nginx/html;
index index.html;
}
location /public {
proxy_pass https://nextjsapp:3000/;
}
}