2016-06-23 11 views
1
ist

Ich habe einen externen Satz in meinem webpack.config.js, dass einige meiner ES6 Module zu importieren:Mocha Überhöhung Lademodul, weil es ein webpack externe

// webpack config: 
externals: { 
    'ExternalConfig': JSON.stringify(require('./config/config.dev.json')) 
} 
// ES6 modules: 
import ExternalConfig from 'ExternalConfig' 

Wenn ich Mokka Tests auf Module laufe, dass der Import extern als Modul dann Mocha wirft Fehler: Modul 'ExternalConfig' kann nicht gefunden werden

Gibt es eine Möglichkeit, die externe an Mocha übergeben, um dieses Problem zu beheben?

+1

Ich nehme an, dass Sie die Option "externals" falsch verstehen. [Gemäß den Dokumenten] (http://webpack.github.io/docs/configuration.html#externals) sollte die Option "externals" nur in Verbindung mit der Option "output.library" verwendet werden. Was genau willst du erreichen? –

+0

Ich übergebe den Pfad zur Datei dev/prod an die Anwendung. Die App ist statisch und der richtige Konfigurationspfad ist gebündelt, abhängig von der Einstellung des npm-Skripts und der Umgebung. – msmfsd

+0

Wie wäre es mit einem 'resolve.alias'? –

Antwort

1

von jhnns erwähnt Da die webpack Äußerlichkeiten zum Laden Config nicht der richtige Ort ist. Ich lade jetzt meine Konfigurationsdatei basierend auf dem Knotenprozess env global. Das bedeutet, dass mocha die webpack-Konfiguration nicht ausführen muss und wie erwartet funktioniert.

+0

Was ist, wenn Sie keinen Knotenserver haben? Ich bekomme den gleichen Fehler, da ich genau das selbe gemacht habe wie zuvor, indem ich einige config von einem json geladen habe, abhängig von der Umgebung, in der ich die Bereitstellung durchgeführt habe, aber wir servieren dies als Standalone über einen nginx Server. Irgendwelche Gedanken? – elQueFaltaba

0

Besser können Sie die Json zu Beginn des webpack erfordern wie

const devConfig = require('./config/config.dev.json'); 

// webpack config: 
externals: { 
    'ExternalConfig': JSON.stringify(devConfig); 
} 

// ES6 modules: 
import ExternalConfig from 'ExternalConfig' 

Versuchen Sie, diese

+0

Danke RM-123. Mocha führt die Webpack-Konfiguration nicht aus, so dass sie es in node_modules finden muss. – msmfsd