typescript ng build --prod不能正常工作?这个怎么查?

dy1byipe  于 2023-05-30  发布在  TypeScript
关注(0)|答案(3)|浏览(164)

我有一个Angular CLI应用程序。如果我使用ng serve命令运行它,它工作得很好。
我没有使用ng serve,而是使用了ng build --prod。它抛出以下脚本错误:
截图:

我想在生产模式下检查此应用程序。

这里我附上了我的代码:

import { Component, ViewChild, OnInit, ElementRef } from '@angular/core';
import { DialogComponent } from '@syncfusion/ej2-angular-popups';
import { EmitType } from '@syncfusion/ej2-base';
@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {
  title="test";
  @ViewChild('ejDialog') ejDialog: DialogComponent;
  // Create element reference for dialog target element.
  @ViewChild('container', { read: ElementRef }) container: ElementRef;
  // The Dialog shows within the target element.
  public targetElement: HTMLElement;

  //To get all element of the dialog component after component get initialized.
  ngOnInit() {
    this.initilaizeTarget();
  }

  // Initialize the Dialog component target element.
  public initilaizeTarget: EmitType<object> = () => {
    this.targetElement = this.container.nativeElement.parentElement;
  }

  // Hide the Dialog when click the footer button.
  public hideDialog: EmitType<object> = () => {
      this.ejDialog.hide();
  }
  // Sample level code to handle the button click action
  public onOpenDialog = function(event:any): void {
      // Call the show method to open the Dialog
      this.ejDialog.show();
  }
  //Animation options
  public animationSettings: Object = { effect: 'Zoom', duration: 400, delay: 0 };
  // Enables the footer buttons
  public buttons: Object = [
      {
          'click': this.hideDialog.bind(this),buttonModel:{ content:'OK', isPrimary: true }
      },
      {
          'click': this.hideDialog.bind(this),buttonModel:{ content:'Cancel' }
      }
  ];
}

Html文件:

<!--The content below is only a placeholder and can be replaced.-->
<div style="text-align:center">
  <h1>
    Welcome to {{ title }}!
  </h1>
  <img width="300" alt="Angular Logo" src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTAgMjUwIj4KICAgIDxwYXRoIGZpbGw9IiNERDAwMzEiIGQ9Ik0xMjUgMzBMMzEuOSA2My4ybDE0LjIgMTIzLjFMMTI1IDIzMGw3OC45LTQzLjcgMTQuMi0xMjMuMXoiIC8+CiAgICA8cGF0aCBmaWxsPSIjQzMwMDJGIiBkPSJNMTI1IDMwdjIyLjItLjFWMjMwbDc4LjktNDMuNyAxNC4yLTEyMy4xTDEyNSAzMHoiIC8+CiAgICA8cGF0aCAgZmlsbD0iI0ZGRkZGRiIgZD0iTTEyNSA1Mi4xTDY2LjggMTgyLjZoMjEuN2wxMS43LTI5LjJoNDkuNGwxMS43IDI5LjJIMTgzTDEyNSA1Mi4xem0xNyA4My4zaC0zNGwxNy00MC45IDE3IDQwLjl6IiAvPgogIDwvc3ZnPg==">
</div>
<h2>Dialog Component</h2>

<button class="e-control e-btn" style="position: absolute;" id="targetButton" (click)="onOpenDialog($event)">Open Dialog</button>
<div #container class='root-container'></div>
  <ejs-dialog id='dialog' #ejDialog header='Dialog' content='Dialog enabled with Zoom effect' [target]='targetElement'
  [animationSettings]='animationSettings' width='250px' [buttons]='buttons'>
  </ejs-dialog>

如果我使用下面的命令,它工作正常:有什么问题吗?
ng build --prod --no-build-optimizer

lpwwtiir

lpwwtiir1#

ng serve --prod --aot=false --build-optimizer=true
bn31dyow

bn31dyow2#

ng build --prod仅用于托管目的。使用DIST文件夹并将这些内容发布或托管
ng serve用于编译和测试目的

11dmarpk

11dmarpk3#

在新版本中,你需要使用$ ng build --configuration production

相关问题