2016-05-18 10 views
4

Ich benutze Browserify und möchte D3.js zusammen mit einem Radar-Diagramm-Komponente verwenden.Expose globale Variable bei Verwendung von Browserify

import 'd3'; 
import 'radar-chart-d3'; 

Die Radardiagrammkomponente gibt den Fehler Uncaught ReferenceError: d3 is not defined zurück.

Ich versuchte, die insertGlobalVars Möglichkeit browserify mit:

browserify: { 
    bundleName: 'main.js', 
    prodSourcemap: false, 
    insertGlobalVars: { 
     d3: function(file, dir) { 
     return 'require("d3")'; 
     } 
    } 
    } 

Dies schließt jedoch nichts über die Situation ändern. Ich weiß, ich kann einfach require('d3') an der Spitze der Radar-Diagramm .js-Datei hinzufügen, aber ich möchte das vermeiden.

Welche andere Möglichkeit gibt es, die d3 Variable zu einem globalen Bereich verfügbar zu machen, so dass andere Dateien d3 verwenden können.

+0

verwenden Sie jshint? Wenn ja, sollten Sie "globals" hinzufügen: { "d3": true,} zu Ihrer .jshintrc-Datei – MayK

+0

@MayK Nein, ich benutze ESLint. – hombrus

Antwort

0

dies in package.json Setzen Sie in:

"eslintConfig": { 
    "globals": { 
    "d3": true 
    } 
} 
+0

Hinzugefügt es genau so, aber das Problem besteht immer noch :(. – hombrus

+0

hast du gesetzt? – MayK

+0

Ja, das ist gesetzt. – hombrus