2015-06-20 7 views
7

Ich rufe programmgesteuert Webpack auf. Zu dem Zeitpunkt, an dem ich es anrufe, habe ich ein Einstellungsobjekt, das ich als Modul in das Webpack aufnehmen möchte. Ist das möglich?Bereitstellung der Moduldefinition in der Webpack-Konfiguration

Ich bin auf der Suche nach etwas ähnlich dem DefinePlugin, aber ich würde gerne ein Modul definieren, nicht freie Variablen.

Mein App-Code, app.js, sieht wie folgt aus:

var settings = require('settings'); 
console.log('Build number is', settings.buildNumber); 

Mein webpack Läufer, webpack-runner.js:

var settings = { 
    buildNumber: 100 
}; 

// Can I pass settings into webpack config such that 
// app.js will be able to access it with require('settings')? 

var config = { 
    entry: "./app.js", 
    output: { 
    path: __dirname, 
    filename: "build.js" 
    } 
}; 

webpack(config, function(err, stats) { 
    console.log(stats.toString()); 
}); 

Derzeit ist die einzige Möglichkeit, die ich gefunden habe, dies zu tun ist meine Einstellungen zu speichern in eine Datei und legen Sie dann einen Alias ​​für den Pfad der Datei fest. Aber ich möchte vermeiden, eine Datei nur zu speichern, um Webpack einen Moment später öffnen zu lassen.

Antwort

-1

Ja, nur in Ihrer Einstellungsdatei erforderlich. Beispiel unten.

// settings.js 
module.exports = { 
    buildNumber: 100 
}; 

// webpack.config.js 
var settings = require('./settings'); // settings.buildNumber => 100 

var config = { 
    entry: './entry.js', 
    output: { 
    path: __dirname, 
    filename: 'build.js' 
    } 
}; 

webpack(config, function(err, stats) { 
    console.log(stats.toString({ 
    colors: true, 
    modules: true, 
    chunkModules: true 
    })); 
}); 
+0

Ich denke, meine Frage war unklar, also habe ich es bearbeitet. Ich suche nach einer Möglichkeit, die Einstellungsvariable in meine Webpack-Konfiguration zu übergeben und dann in app.js mit "require ('settings')" darauf zuzugreifen. – Andrew

+0

@Andrew warum nicht nur die Datei in app.js und webpack.config.js erfordern? –

+1

Meine Einstellungen werden programmgesteuert generiert, sodass keine Datei vorhanden ist. Meine aktuelle Problemumgehung besteht darin, die Einstellungen in einer Datei zu speichern und sie dann zu erfordern - aber das versuche ich zu vermeiden. – Andrew

Verwandte Themen