首页 > 解决方案 > 使用 Universal SSR(服务器端渲染),构建生产版本后我该怎么办?

问题描述

我已经设法遵循 Angular Universal 上的 Angular.io 技术:服务器端渲染(https://angular.io/guide/universal)。

我到了最后,一切运行良好,没有错误,现在我的 dist 文件夹很好地分开了,如下所示:

/dist
    /browser
    /server
    /server.js

npm run serve:ssr 效果很好,网站显示很棒,最重要的是我可以在页面源代码中看到所有内容都编译得很好。

不幸的是,所有文档似乎都停在那里,所以我的网站在localhost:4000.

在渲染之前,我只是将里面的所有内容上传/dist到我的网络服务器并且它工作正常。

我已经用我当前的/dist设置尝试过这个,我从我的网络服务器收到一条禁止消息。我瞄准,/server.js我看到了源代码。

关于我从这里去哪里的任何线索?很抱歉,如果它是愚蠢的!

标签: angularangular-universal

解决方案


如果无法静态提供文件,您需要设置一个网络服务器来处理请求并将它们重定向到 nodejs 通用服务器。

以 Nginx 为例

location / {
    index index.html;
    try_files $uri @universal;
  }

  #Transfer to angular universal handler
  location @universal{

        proxy_pass http://localhost:4000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;

  }

推荐阅读