使用通用SSR(服务器端渲染),构建生产版本后该怎么办?

时间:2018-08-24 21:22:20

标签: angular angular-universal

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

我结束了,一切运行正常,没有错误,现在我的dist文件夹被很好地分开了,就像这样:

/dist
    /browser
    /server
    /server.js

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

不幸的是,所有文档似乎都停在那里,因此我的网站位于localhost:4000

在渲染之前,我只是将/dist中的所有内容都上传到了我的Web服务器,并且可以正常工作。

我已经用当前的/dist设置尝试过此操作,但从Web服务器收到一条禁止消息。我瞄准/server.js,然后看到源代码。

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

1 个答案:

答案 0 :(得分:0)

如果文件不能静态提供,您需要设置一个Web服务器来处理请求并将其重定向到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;

  }