Heim >Web-Frontend >js-Tutorial >Wie übergebe ich umgebungsabhängige Variablen im Webpack für Angular Apps?

Wie übergebe ich umgebungsabhängige Variablen im Webpack für Angular Apps?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-15 20:34:02887Durchsuche

How to Pass Environment-Dependent Variables in Webpack for Angular Apps?

Übergabe umgebungsabhängiger Variablen in Webpack

In Angular-Apps von Gulp nach Webpack konvertiert, Replikation der Funktionalität von Gulp-Preprocess mithilfe von Webpack für Das dynamische Ersetzen von Variablen (z. B. Datenbanknamen) basierend auf NODE_ENV erfordert einen anderen Ansatz.

Es gibt mehrere Möglichkeiten, dies zu erreichen:

DefinePlugin

Verwenden Sie das webpack.DefinePlugin, um Umgebungsvariablen als JSON-Strings direkt in den Code einzufügen.

new webpack.DefinePlugin({
    'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV || 'development')
})

Beachten Sie, dass diese Technik übereinstimmende Strings „wie sie sind“ ersetzt, was das spezifische JSON-Format erfordert. Komplexe Strukturen wie Objekte sind möglich, aber das Prinzip bleibt dasselbe.

EnvironmentPlugin

Nutzen Sie das webpack.EnvironmentPlugin, das intern DefinePlugin nutzt. Es ordnet Umgebungswerte dem Code zu und vereinfacht so die Syntax.

new webpack.EnvironmentPlugin(['NODE_ENV'])

Alias

Verwenden Sie die Konfiguration über ein Alias-Modul:

// Consumer side
var config = require('config');

// Configuration itself
resolve: {
    alias: {
        config: path.join(__dirname, 'config', process.env.NODE_ENV)
    }
}

Basierend Auf der NODE_ENV wird dieses Beispiel einem Modul wie ./config/development.js zugeordnet, das die gewünschte Konfiguration exportiert.

Das obige ist der detaillierte Inhalt vonWie übergebe ich umgebungsabhängige Variablen im Webpack für Angular Apps?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn