Tôi muốn biết cách có thể bao gồm thư viện javascript bên ngoài trong dự án phản ứng. Ví dụ, tôi muốn nhập khẩu thư viện jspdf: https://github.com/MrRio/jsPDF/blob/master/jspdf.js và sử dụng nó trong ứng dụng reactjs của tôi.Cách bao gồm thư viện javascript bên ngoài trong reactjs
Cho đến nay tôi cố gắng sử dụng đòi hỏi như thế này:
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();
}
Tôi có lỗi sau: Lỗi Loại: pdfConverter.jsPDF không phải là một chức năng.
Để làm cho nó hoạt động, tôi đã làm điều gì đó xấu xí, tôi sao chép nguồn của jspdf-source.js vào tệp react.jsx của tôi và chỉ cần gọi jsPDF thay vì pdfConverter.jsPDF. Đó là chắc chắn không có cách đúng, nhưng không thể succed để nhập khẩu và sử dụng thư viện.
Bạn có thể cho tôi biết những gì tôi đang làm sai và cách tôi có thể sửa lỗi này không? Cảm ơn bạn
-EDIT-
Khi tôi đang sử dụng giải pháp xấu xí của tôi (sao chép mã nguồn thành tập tin của tôi) Tôi chỉ phải làm như sau:
var doc = new jsPDF('p','pt);
Và nó đã làm việc hoàn toàn, mong rằng tôi có một tệp rất lớn
Sau giải pháp được đề xuất từ @dannyjolie dưới đây, tôi đã nhập jspdf trực tiếp từ gói npm, nhưng tôi vẫn không thể sử dụng thư viện . Tôi cố gắng mã Mà dẫn sau để một lỗi:
var pdfConverter = require('jspdf');
var converter = new pdfConverter();
var doc = converter.jsPDF('p', 'pt');
Lỗi Loại: pdfConverter không phải là một constructor Nghĩa là tôi phải nhập jsPDF đến từ các gói, không chỉ jspdf?
Sau đó, tôi cố gắng
let pdfConverter = require('jspdf');
var converter = pdfConverter.jsPDF;
var doc = new converter('p', 'pt');
ReferenceError: jsPDF không được định nghĩa
Lỗi Loại: Chuyển đổi không phải là một constructor
Ok rõ ràng, tôi không nhập khẩu là điều đúng đắn hoặc không đúng cách. Tôi đang làm gì sai?
Cảm ơn câu trả lời của bạn. Tôi không biết tôi có thể cài đặt jspdf với npm. Có thể cho bất kỳ thư viện nào không? (Tôi khá mới đến npm). Tuy nhiên nó vẫn không hoạt động như mong đợi. Khi tôi thử chuyển đổi var new pdfConverter(); Tôi nhận được thông báo này TypeError: pdfConverter không phải là một hàm tạo. Tôi vẫn còn thiếu một cái gì đó nhưng không biết những gì. – FLCcrakers
@FrankHOONAKKER Trong trường hợp này, đó là một linh cảm may mắn :) https://www.npmjs.com/package/jspdf. Tôi đã không sử dụng jsPDF nhiều bản thân mình, tôi nghĩ rằng tôi đã thử nó một lần, nhưng đánh giá bởi các ví dụ mã khởi tạo là một chút khác nhau hơn so với mã bạn đã cung cấp. Có thể bạn sẽ tìm ra. – dannyjolie
Tôi vẫn không thể tìm ra cách để làm điều này đúng cách. Tôi chắc chắn bỏ lỡ một cái gì đó. Sau đó khi tôi đã sao chép mã nguồn, tôi chỉ có thể sử dụng nó như trong doc "var doc = new jsPDF();" nhưng biết rằng tôi đã nhập khẩu thông qua npm tôi không thể tìm đúng cách ... Tôi chắc chắn bỏ lỡ một số knowedge nhưng không biết cái nào. – FLCcrakers