2016-11-28 10 views
1

Ich arbeite an einem Webprojekt mit reagieren.
Wie kann ich nur 3 Komponenten aus einer Bibliothek importieren.
Ich habe verwendet:Importieren Sie nur bestimmte Komponenten in reagieren

import Line, Bar, Doughnut from 'react-chartjs-2'; 

einen Fehler gibt.

import Line from 'react-chartjs-2'; 
import Bar from 'react-chartjs-2'; 
import Doughnut from 'react-chartjs-2'; 

Alle Line-, Bar- und Donut-Elemente fungieren als Donut-Elemente.

Mit

import {Line, Bar, Doughnut} from 'react-chartjs-2'; 

lädt die ganze Bibliothek, die etwas, das ich nicht will.

HINWEIS: Ich verwende diesen Import in mehreren Dateien.

+1

'importieren {Donut, Line, Bar} von 'react-chartjs-2'' versuchen Sie dies –

+1

' importieren Sie Zeile von' react-chartjs-2/Line '; Import-Bar von 'react-chartjs-2/Bar'; Donut aus 'react-chartjs-2/Donut' importieren; ' Könnte es funktionieren? (Ich habe es nicht getestet, ich will es einfach versuchen.) –

+1

Was meinst du mit der ganzen Bibliothek? Sehen Sie sich [git repo] an (https://github.com/gor181/react-chartjs-2). Es sollte funktionieren, wie Sie wollen –

Antwort

2

Es geht darum, wie der Autor die Komponenten/Module/Klassen erstellt, verpackt und exportiert.

Werfen Sie einen Blick auf die gulpfile.js und /lib von reagieren-chartjs-2, werden Sie jede Klasse sehen nicht als Modul (CommonJS) exportiert wurde, so dass nur Sie Donut die Klasse importieren können (oder anderen Klassen) wie folgt aus:

import { Doughnut } from 'react-chartjs-2'

es sei denn, Sie den Code und bauen sie sich trennen.

Wenn Sie interessiert sind, warum react-bootstrap das kann, überprüfen Sie webpack config, build tools und code structure. Und mehr können wir von bekommen:

  • Dateistruktur von reagieren-chartjs-2 's Verteilung

    file structure of react-chartjs-2's distribution

  • Dateistruktur von reagieren-Bootstrap' s Verteilung

    file structure of react-bootstrap's distribution

Verwandte Themen