Cannot find name 'GlobalCompositeOperation'

Discussão em 'Angular' iniciado por jackz_sparrow, Maio 29, 2025.

  1. While working with ng-lottie for animations. It is suddenly having build issues. Know more .

    Hence, in search of alternatives I am trying ng-particles.

    I have installed it and added the configs as per docs.

    But, now I am getting Cannot find name 'GlobalCompositeOperation'

    Package.json

    {
    "name": "ngrx-poc",
    "version": "0.0.0",
    "scripts": {
    "ng": "ng",
    "start": "ng serve --port 4202",
    "build": "ng build",
    "watch": "ng build --watch --configuration development",
    "test": "ng test"
    },
    "private": true,
    "dependencies": {
    "@angular/animations": "~13.1.0",
    "@angular/common": "~13.1.0",
    "@angular/compiler": "~13.1.0",
    "@angular/core": "~13.1.0",
    "@angular/forms": "~13.1.0",
    "@angular/localize": "~13.1.0",
    "@angular/platform-browser": "~13.1.0",
    "@angular/platform-browser-dynamic": "~13.1.0",
    "@angular/router": "~13.1.0",
    "@ng-bootstrap/ng-bootstrap": "^12.0.0",
    "@ngrx/store": "^13.0.2",
    "@popperjs/core": "^2.10.2",
    "apexcharts": "^3.33.2",
    "bootstrap": "^5.1.3",
    "lottie-web": "^5.9.1",
    "ng-apexcharts": "^1.7.0",
    "ng-otp-input": "^1.8.5",
    "ng-particles": "^2.43.1",
    "ngx-lottie": "^8.0.1",
    "ngx-toastr": "^14.2.1",
    "rxjs": "~7.4.0",
    "tslib": "^2.3.0",
    "tsparticles": "^1.43.1",
    "tsparticles-engine": "^2.0.0-beta.0",
    "zone.js": "~0.11.4"
    },
    "devDependencies": {
    "@angular-devkit/build-angular": "~13.1.2",
    "@angular/cli": "~13.1.2",
    "@angular/compiler-cli": "~13.1.0",
    "@types/jasmine": "~3.10.0",
    "@types/node": "^12.11.1",
    "jasmine-core": "~3.10.0",
    "karma": "~6.3.0",
    "karma-chrome-launcher": "~3.1.0",
    "karma-coverage": "~2.1.0",
    "karma-jasmine": "~4.0.0",
    "karma-jasmine-html-reporter": "~1.7.0",
    "typescript": "~4.5.2"
    }
    }



    app.module.ts

    import { NgModule } from '@angular/core';
    import { BrowserModule } from '@angular/platform-browser';
    import { BrowserAnimationsModule } from '@angular/platform-browser/animations';


    import { AppComponent } from './app.component';
    import { StoreModule } from '@ngrx/store';
    import { NgbModule } from '@ng-bootstrap/ng-bootstrap';
    import { BsDropdownComponent } from './components/bs-dropdown/bs-dropdown.component';
    import { UserListComponent } from './components/user-list/user-list.component';
    import { HttpClientModule } from '@angular/common/http';
    import { ProductComponent } from './components/product/product.component';
    import { addProductReducer } from './components/product/product.reducer';
    import { ReactiveFormsModule } from '@angular/forms';
    import { TopNavComponent } from './top-nav/top-nav.component';
    import { ToasterComponent } from './components/toaster/toaster.component';
    import { ToastrModule } from 'ngx-toastr';
    import { ChartsApexComponent } from './components/charts-apex/charts-apex.component';
    import { NgApexchartsModule } from 'ng-apexcharts';
    import { OtpInputComponent } from './components/otp-input/otp-input.component';
    import { NgOtpInputModule } from 'ng-otp-input';
    import { NgxLottieComponentComponent } from './components/ngx-lottie-component/ngx-lottie-component.component';
    import { LottieModule } from 'ngx-lottie';
    import player from 'lottie-web';
    import { CheckBootstrapComponent } from './components/check-bootstrap/check-bootstrap.component';
    import { NgParticlesModule } from "ng-particles";

    // lottie config
    export function playerFactory() {
    return player;
    }


    @NgModule({
    declarations: [
    AppComponent,
    BsDropdownComponent,
    UserListComponent,
    ProductComponent,
    TopNavComponent,
    ToasterComponent,
    ChartsApexComponent,
    OtpInputComponent,
    NgxLottieComponentComponent,
    CheckBootstrapComponent,
    ],
    imports: [
    BrowserModule,
    NgbModule,
    HttpClientModule,
    BrowserAnimationsModule,
    StoreModule.forRoot({ product: addProductReducer }),
    ReactiveFormsModule,
    NgApexchartsModule,
    NgOtpInputModule,
    NgParticlesModule,
    LottieModule.forRoot({ player: playerFactory }),
    ToastrModule.forRoot({
    preventDuplicates: true,
    iconClasses: {
    error: 'toast-error',
    info: 'toast-info',
    success: 'toast-success',
    warning: 'toast-warning',
    }
    }), // ToastrModule added


    ],
    providers: [],
    bootstrap: [AppComponent],
    })
    export class AppModule {}



    App.ts

    import { Component } from '@angular/core';
    import { NgParticlesModule } from 'ng-particles';
    import { ISourceOptions } from 'tsparticles';

    @Component({
    selector: 'app-root',
    templateUrl: './app.component.html',
    styleUrls: ['./app.component.css'],
    })
    export class AppComponent {
    particlesOptions: ISourceOptions = {
    background: {
    color: {
    value: 'white',
    },
    },
    fpsLimit: 60,
    interactivity: {
    detectsOn: 'canvas',
    events: {
    onClick: {
    enable: true,
    mode: 'push',
    },
    onHover: {
    enable: true,
    mode: 'repulse',
    },
    resize: true,
    },
    modes: {
    bubble: {
    distance: 400,
    duration: 2,
    opacity: 0.8,
    size: 30,
    },
    push: {
    quantity: 4,
    },
    repulse: {
    distance: 100,
    duration: 0.4,
    },
    },
    },
    particles: {
    color: {
    value: '#a9a9a9',
    },
    links: {
    color: '#a9a9a9',
    distance: 200,
    enable: true,
    opacity: 0.7,
    width: 1.5,
    },
    collisions: {
    enable: true,
    },
    move: {
    direction: 'none',
    enable: true,
    outMode: 'bounce',
    random: false,
    speed: 2,
    straight: false,
    },
    number: {
    density: {
    enable: true,
    value_area: 800,
    },
    value: 80,
    },
    opacity: {
    value: 1,
    },
    shape: {
    type: 'diamond',
    },
    size: {
    random: true,
    value: 3,
    },
    },
    detectRetina: true,
    };

    }



    App.component.html

    <ng-particles id="tsparticles" [options]="particlesOptions" ></ng-particles>


    I don't know wheather the issue is of angular or it is related to Canvas.

    Please suggest any working alternatives for ng-lottie or ng-particles

    Continue reading...

Compartilhe esta Página