小编use*_*612的帖子

Angular - 服务器端 - 初始响应时间非常长

在此输入图像描述

  1. 我的网站 - https://sandbox.billionlearners.com => 它位于 Angular 12 SSR(在节点上运行)

  2. 渲染页面所需的总时间为@6秒,但初始服务器端页面需要@4秒(其大小小于200Kb)

  3. 命令行dig time https://sandbox.billionlearners.com花费的时间非常少 - @150ms

  4. https://tools.pingdom.com/ => 即使最初我确实看到@115KB,然后立即更改为@5MB。

  5. 我还检查了我的服务器箱统计信息(CPU/网络/RAM 等)- 根本不是问题。

  6. 我的 CloudHosting 公司说 - 这是因为总规模,我不相信。SSR 本身的全部目的都落空了。我希望用户快速看到初始页面,然后它将加载大的最终页面。

我是否遗漏了 SSR 代码中的某些内容,或者 CloudHosting 端是否存在问题?

提前致谢

更新:Angular.json

...

            "styles": [
          "./node_modules/bootstrap/dist/css/bootstrap.min.css",
          "./node_modules/@fortawesome/fontawesome-free/css/all.min.css",
          "./node_modules/bootstrap-social/bootstrap-social.css",
          "./node_modules/primeicons/primeicons.css",
          "./node_modules/primeng/resources/themes/nova/theme.css",
          "./node_modules/primeng/resources/primeng.min.css",
          "./node_modules/primeflex/primeflex.min.css",
          "./node_modules/prismjs/plugins/toolbar/prism-toolbar.css",
          "./node_modules/prismjs/themes/prism-coy.css",
          "./node_modules/ngx-sharebuttons/themes/modern/modern-light-theme.scss",
          "./node_modules/ngx-owl-carousel-o/lib/styles/prebuilt-themes/owl.carousel.min.css",
          "./node_modules/ngx-owl-carousel-o/lib/styles/prebuilt-themes/owl.theme.default.min.css",
          "src/styles.scss"
        ],
        "scripts": [
          "./node_modules/jquery/dist/jquery.min.js",
          "./node_modules/bootstrap/dist/js/bootstrap.bundle.min.js",
          "./node_modules/he/he.js"
        ],
...
Run Code Online (Sandbox Code Playgroud)

索引.html

  <script type="text/x-mathjax-config">
MathJax.Hub.Config({
  tex2jax: {
      inlineMath: [['$#','#$'], ['\\(','\\)']],
      processEscapes: true
      }
});
  </script>
  <script type="text/javascript" async src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS_CHTML"></script>
  <!--for Google reCaptch …
Run Code Online (Sandbox Code Playgroud)

response-time server-side-rendering angular

8
推荐指数
1
解决办法
2662
查看次数

一对多单向关系的外键约束问题

我有Employee(父母)和Emp_Contacts(孩子).只有Employee类具有单向映射.

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.validation.constraints.Digits;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

import org.hibernate.validator.constraints.NotEmpty;

@Entity
@Table(name="EMPLOYEE")
public class Employee {

  @Id
  @GeneratedValue(strategy = GenerationType.IDENTITY)
  private int id;

  @Size(min=3, max=50)
  @Column(name = "NAME", nullable = false)
  private String name;

...

  @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
  @JoinColumn(name = "emp_id")
  private Set<Emp_Contacts> contacts;

...getters and setters...
Run Code Online (Sandbox Code Playgroud)

我的Emp_Contacts情况如下:

@Entity
@Table(name = "Emp_Contacts") …
Run Code Online (Sandbox Code Playgroud)

java mysql hibernate foreign-keys spring-mvc

7
推荐指数
1
解决办法
7328
查看次数

Modelmapper将从String转换为LocalDate

我的DTO具有String格式的日期字段.我的实体的日期为LocalDate.目前我正在从地图中跳过它,然后手动显式设置它(String to Date,反之亦然).

可以自动转换吗?我在Spring bean中尝试了Converter但是它给了我很多编译错误(类型转换器不接受参数,不会覆盖转换方法 - 转换()也有很多错误).

@Bean
public ModelMapper studentModelMapper() {
....    
    Converter<String, LocalDate> toStringDate = new AbstractConverter<String, LocalDate>() {
        protected String convert(String source) {
            return source == null ? null : new LocalDate(source);
        }
    };
....
}
Run Code Online (Sandbox Code Playgroud)

我对modelmapper不太熟悉.任何帮助是极大的赞赏.

正如建议我尝试使用LocalDate for DTO,但问题是当我在前面发送此实体(REST调用)时,我得到了JSON.

"dateOfBirth": {
   "year": 1972,
   "month": "JANUARY",
   "monthValue": 1,
   "dayOfMonth": 4,
   "dayOfWeek": "TUESDAY",
   "era": "CE",
   "dayOfYear": 4,
   "leapYear": true,
   "chronology": {
      "id": "ISO",
      "calendarType": "iso8601"
   }
}
Run Code Online (Sandbox Code Playgroud)

我的前端开发人员需要"YYYY-MM-DD".

spring modelmapper

5
推荐指数
1
解决办法
6442
查看次数

执行一系列动态创建的可观察对象数组

我正在一个项目(Angular2)上进行动态创建Observable并将其放入数组中

var ObservableArray : Observable<any>[] = [];
//filling up Observable array dynamically
for (var i = 0; i < this.mainPerson.children.length; i++) {       
ObservableArray.push(Observable.fromPromise(this.determineFate(this.mainPerson.children[i])));
  }
}


var finalObservable: Observable<any> = Observable.concat(ObservableArray);

finalObservable
  .subscribe( data => {
    //here  I expected to execute determineFate() for all observables inside array  
    console.log("determine fate resolved data returned [" + data + "]");
  }, error => {
    console.error("error on Age Year for Characters")
  },() => {  
    //Here I expect this gets executed only when all Observables inside …
Run Code Online (Sandbox Code Playgroud)

javascript rxjs rxjs5 angular

2
推荐指数
1
解决办法
1556
查看次数