Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

315
Views
instale paper.js y el archivo de escritura en angular 2

Quiero usar paper.js en uno de mis componentes en Angular 2 pero parece que no puedo hacerlo funcionar. El archivo paper-full.js se ejecuta cuando se carga el componente, pero nunca reconoce el lienzo.

Hay un archivo de escritura hecho por Clark-Stevenson (paper.d.ts) para paper.js y creo que esto podría ser parte del problema, pero cuando intento instalarlo siguiendo las instrucciones generales de Ben Nadel (ver enlace) obtengo el siguiendo:

C:\Usuarios\levi\Documentos\Programación\AngularDesigner2>./node_modules/.bin/typingsinstall --global --save file:./paper.d.ts

'.' no se reconoce como un comando interno o externo, un programa ejecutable o un archivo por lotes.

https://www.bennadel.com/blog/3169-adding-custom-typings-files-d-ts-in-an-angular-2-typescript-application.htm

https://github.com/clark-stevenson/paper.d.ts Soy nuevo en paper.js, mecanografiado y angular 2.

tsconfig.json

 { "compilerOptions": { "target": "es5", "module": "commonjs", "moduleResolution": "node", "sourceMap": true, "emitDecoratorMetadata": true, "experimentalDecorators": true, "lib": [ "es2015", "dom" ], "noImplicitAny": true, "suppressImplicitAnyIndexErrors": true }, "files": [ "paper.d.ts" ] }

App.component.ts

 import { Component } from '@angular/core'; import '../../node_modules/paper/dist/docs/assets/js/paper.js'; @Component({ selector: 'my-app', templateUrl: 'app/canvas.html' }) export class AppComponent { }

lienzo.html

 <h1>Canvas</h1> <canvas id="canvas"></canvas>

El archivo paper.d.ts se encuentra en src: src/paper.d.ts

about 4 years ago · Santiago Trujillo
3 answers
Answer question

0

Recomiendo simplemente instalar ambas bibliotecas con npm para que:

 npm install --save paper npm install --save @types/paper ( or --save-dev if you prefer )

luego puede usar .angular-cli.json para incluir la biblioteca en su paquete incluyéndola en la etiqueta "scripts".

En .angular-cli.json, agregue la línea importing paper-full.min.js a sus scripts:

 { .... "apps": [ .... "scripts": [ "../node_modules/paper/dist/paper-full.min.js" ] ] }

Una vez que haya terminado con eso, puede usar la biblioteca de papel en sus componentes. Le sugiero que haga un contenedor de componentes simple.

Algo así como paper-canvas.component.ts

 import { Component, OnInit, ViewChild, ElementRef } from '@angular/core'; import { PaperScope, Project, Path, Point } from 'paper'; @Component({ moduleId: module.id, selector: 'paper-canvas', template: '<canvas #canvasElement width="595" height="842"></canvas>', }) export class PaperCanvasComponent implements OnInit { @ViewChild('canvasElement') canvasElement: ElementRef; scope: PaperScope; project: Project; constructor() { } ngOnInit() { this.scope = new PaperScope(); this.project = new Project(this.canvasElement.nativeElement); } }

desde este punto, tendrá control total sobre todas las funciones de paper.js, como dibujar directamente, crear objetos/símbolos, definir la interacción del mouse, crear herramientas, etc. http://paperjs.org/features/

Agregue elementos a project.activeLayer si desea mantenerlo simple.

 const currentPath = new Path(); // ... add some points, set some properties this.project.activeLayer.addChild(currentPath);

Espero que esto funcione; y ayuda :-)

about 4 years ago · Santiago Trujillo Report

0

@types/paper está en desuso. Paper proporciona sus propias definiciones de tipo, ya no es necesario instalarlo.

about 4 years ago · Santiago Trujillo Report

0

¡Esa es una gran respuesta de lwohlhart hermano!
Sin embargo, si su proyecto no puede ejecutarse normalmente. Intente volver a configurar en su archivo angular.json (actualmente uso Angular 8). La ruta ahora es "node_modules/paper/dist/paper-full.min.js"
¡Ojalá sea útil!

about 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!