Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular SSR未在浏览器上的页面源中显示服务器部署SSR的API中的数据,但正在处理本地产品构建_Angular_Server Side Rendering - Fatal编程技术网

Angular SSR未在浏览器上的页面源中显示服务器部署SSR的API中的数据,但正在处理本地产品构建

Angular SSR未在浏览器上的页面源中显示服务器部署SSR的API中的数据,但正在处理本地产品构建,angular,server-side-rendering,Angular,Server Side Rendering,我有一个angular 7应用程序,并制作了该应用程序的通用版本(用于SEO目的的SSR) 应用程序像以前一样平稳运行,来自API的所有数据在本地模式和服务器模式下都能完美显示 但问题是,当我在浏览器上查看“页面源”时,如果从服务器获取API数据,则在浏览器中不可见 package.json "scripts": { "ng": "ng", "start": "ng serve", "build": "ng build", "test": "ng test",

我有一个angular 7应用程序,并制作了该应用程序的通用版本(用于SEO目的的SSR)

应用程序像以前一样平稳运行,来自API的所有数据在本地模式和服务器模式下都能完美显示

但问题是,当我在浏览器上查看“页面源”时,如果从服务器获取API数据,则在浏览器中不可见

package.json

 "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e",
    "install:clean": "rm -rf node_modules/ && rm -rf package-lock.json && npm install && npm start",
    "compile:server": "webpack --config webpack.server.config.js --progress --colors",
    "serve:ssr": "node dist/server",
    "build:ssr": "npm run build:client-and-server-bundles && npm run compile:server",
    "build:client-and-server-bundles": "ng build --prod && ng run nthexam:server:production",
  },
命令
npm-run-build:ssr:stage&&npm-run-service:ssr
build-ssr应用程序,它在本地机器上运行良好

问题

如果在服务器(ubuntu)中部署了SSR,则浏览器上的页面源不显示API数据 然而,对于静态内容,它的作品都很好

在本地,its可以完美地处理静态数据和API数据,这两种数据都可以在本地主机的页面源代码中看到

经过一些搜索: 我正在使用cloudflare,我尝试禁用所有缓存,但仍然没有用

我试过这个:
但是在一些我没有任何控制台错误的页面中,即使在页面源中它也不显示数据,而在本地,无论声明的错误是什么,它都可以正常工作。

页面源显示从服务器请求的静态文件。在客户端发生的任何事情,比如对服务器的API调用,都不会影响源代码。如果数据被解析到DOM中,您可以在xhr请求的网络选项卡或元素选项卡下的DOM中看到API数据。

在本地设置中,所有API数据也显示在页面源代码中,否则SSR就没有用了。我想我有点糊涂了。你能从源代码中添加一些代码来显示有数据和没有数据吗?考虑一个条件,你必须在本地do:
npm run build:ssr:stage&&npm run service:ssr
上列出API中的所有帖子,然后检查页面源代码,它在浏览器的页面源代码中显示所有帖子。在服务器中执行相同操作:
npm run build:ssr:stage&&npm run service:ssr
只显示静态内容,而不是浏览器上页面源中的API数据,例如:这是页面源
//静态数据显示所有帖子//在本地显示所有帖子//在服务器中显示所有帖子此块为空
,但在这两种情况下,帖子都在页面上呈现?是的,所有帖子在UI中显示良好,只是在页面源中,这是不同之处。