2016-03-29 10 views
1

Freunde, Ich versuche, eine externe Datei aus dem Paket Webpack zu halten, aber als Abhängigkeit - eine Einstellungsdatei in diesem Fall. Ich habe verschiedene Varianten der folgenden -Webpack - Externe JS/JSON-Datei als Abhängigkeit

externals: { 
    'Settings': JSON.stringify(require('./settings.json')) 
}, 

... versucht, aber Webpack hält es im Bündel enthalten. Die einzigen Beispiele, die ich in den Dokumenten gefunden habe, sind gemeinsame Voreinstellungen wie jQuery, von lokalen aber externen Dateien wird nichts erwähnt. Hilfe? Vielen Dank!

+0

Ich verstehe die Frage nicht wirklich. Sie benötigen entweder eine Datei oder nicht. Was erwartest du zu passieren? Wie sollte das funktionieren? – mik01aj

Antwort

0

So nach viel Forschung, die einzige Art und Weise, wie diese Antwort zu schreiben, eine externe Datei zu holen ist, in einer Art und Weise, Webpack zu ignorieren und einfach ein anderes Skript Aufruf der index.html hinzuzufügen. Dies ist, was ich tun endete -

<body> 
    <div id="whatever-app-id"></div> 
    <script type="text/javascript" src="settings.js"></script> 
    <script type="text/javascript" src="app.js" defer></script> 
</body> 

Für eine gute Maßnahme, können Sie auch die webpack Externen hinzufügen, wie in der settings.js Datei deklariert in @gmaliar ‚s Antwort mit Bezug auf das globale Objekt erwähnt. Das ist jedoch etwas redundant, da das Objekt sowieso global ist.

Ich hoffe, es hat jedem geholfen.

0

Wie wäre es?

// Outside of webpack context 
var fs = require("fs"); 
var settings = JSON.parse(fs.readFileSync('./settings.json', 'utf8')); 

// Within webpack context 
externals: { 
    'Settings': settings 
} 
+0

Welchen Unterschied macht das? –

+1

Keine. Es bettet die Datei einfach in den Webpack-Kontext ein und negiert das Prinzip des separaten Ladens in der Ladezeit vollständig. :/Danke für die Antwort. –

Verwandte Themen