einbeziehen Ich würde gerne wissen, wie es möglich ist, eine externe Javascript-Bibliothek in ein reaktives Projekt aufzunehmen. Ich möchte zum Beispiel die jspdf-Bibliothek importieren: https://github.com/MrRio/jsPDF/blob/master/jspdf.js und sie in meiner reactjs-App verwenden.Wie man externe Javascript-Bibliothek in reactjs
Bisher habe ich versucht, wie dies erforderlich zu verwenden:
let React = require('react');
let { Spacing, Typography } = Styles;
let DoughnutChart = require("react-chartjs").Doughnut;
let Chart = require('react-google-charts').Chart;
let { StylePropable, StyleResizable } = Mixins;
let EditableDiv = require('../EditableDiv.jsx');
//some other library
//the library that matter for me
var pdfConverter = require('../utils/jspdf.source.js');
//then I have my classical react code which works and a function to generate ad pdf
_generatePdf: function(){
console.log('Genrating pdf');
var doc = new pdfConverter.jsPDF('p','pt');
var img = new Image();
}
Ich habe folgende Fehlermeldung: Typeerror: pdfConverter.jsPDF ist keine Funktion.
Damit es funktioniert, habe ich etwas hässliches gemacht, ich kopiere die Quelle von jspdf-source.js in meine react.jsx Datei und rufe einfach jsPDF anstelle von pdfConverter.jsPDF auf. Es ist definitiv nicht der richtige Weg, aber kann die Bibliothek nicht importieren und verwenden.
Können Sie mir sagen, was ich falsch mache und wie ich das korrigieren kann? Danke
-EDIT-
Als ich meine hässliche Lösung wurde mit (Kopieren der Quelle in meiner Datei) musste ich nur Folgendes tun:
var doc = new jsPDF('p','pt);
Und es funktionierte perfekt, erwarte, dass ich eine sehr große Datei hatte
Nach der vorgeschlagenen Lösung von @dannyjolie unten, habe ich Jspdf direkt aus dem Npm-Paket importiert, aber ich bin immer noch nicht in der Lage, die Bibliothek zu verwenden . Ich habe versucht, den folgenden Code weicht zu einem Fehler führen:
var pdfConverter = require('jspdf');
var converter = new pdfConverter();
var doc = converter.jsPDF('p', 'pt');
Typeerror: PDFConverter ist kein Konstruktor Was bedeutet, dass ich die jsPDF aus dem Paket kommt zu importieren, nicht nur jspdf?
Dann versuche ich
let pdfConverter = require('jspdf');
var converter = pdfConverter.jsPDF;
var doc = new converter('p', 'pt');
Reference: jsPDF definiert nicht
Typeerror: Konverter kein Konstruktor ist
Ok offensichtlich, ich bin nicht das Richtige zu importieren oder nicht der richtige Weg. Was mache ich falsch?
Danke für Ihre Antwort. Ich wusste nicht, dass ich jspdf mit npm installieren kann. Ist es für jede Bibliothek möglich? (Ich bin ziemlich neu zu npm). Es funktioniert jedoch immer noch nicht wie erwartet. Wenn ich versuche, var converter new pdfConverter(); Ich erhalte diese Nachricht TypeError: pdfConverter ist kein Konstruktor. Ich vermisse immer noch etwas, weiß aber nicht was. – FLCcrakers
@FrankHOONAKKER In diesem Fall war es eine glückliche Ahnung :) https://www.npmjs.com/package/jspdf. Ich habe jsPDF nicht viel selbst verwendet, ich glaube, ich habe es einmal ausprobiert, aber nach den Codebeispielen zu urteilen, unterscheidet sich die Initialisierung etwas von dem Code, den Sie bereitgestellt haben. Du wirst es wahrscheinlich herausfinden. – dannyjolie
Ich kann immer noch nicht herausfinden, wie man das richtig macht. Ich vermisse bestimmt etwas. Später, als ich den Quellcode kopierte, konnte ich ihn einfach wie im Dokument "var doc = new jsPDF()" verwenden. aber wisst, dass ich über npm importiert habe bin ich nicht in der lage den richtigen weg zu finden ... ich vermisse sicherlich etwas wissen aber weiß nicht welches. – FLCcrakers