2017-05-22 6 views
0

Ich versuche, eine Systemvariable zu injizieren, die ich in meinem Container zu meinem vue js api initialisieren werde. in meinem api.js verwende ich die Variable auf diese Weise:Inject Systemvariable zu module.exports in vue js

const BASE_URL = process.env.CORE_URL 

und ich meine Konfiguration über wabpack laden:

plugins: [ 
    new webpack.DefinePlugin({ 
    'process.env': config.dev.env 
    }), 

dann verwalte ich meine Variablen in js dev.env.js mit Modul. Export

var merge = require('webpack-merge') 
var prodEnv = require('./prod.env') 

module.exports = merge(prodEnv, { 
    NODE_ENV: '"development"', 
    API_URL: '"@@[email protected]@"', 
}) 

ich bin nicht in der Lage, die API_URL zu injizieren, die ich zu dem dev.env.js in meinem Behälter eingestellt werde

Antwort

0

Ich habe einen Weg gefunden. Ich musste ein Shell-Skript erstellen, das während des Builds eine dev.env.js aus dev.env.template.js erstellt und die Variablen, die mit @@ beginnen, durch den Wert auf dev.env.js ersetzt. Die Datei dev.env.js wird während des Builds zum Ordner dist auf dem Container hinzugefügt.