2016-11-03 2 views
1

Ich habe eine js Datei scripts.js mit vue js Code:undefiniert var in Chromkonsole nach Elixier webpack

var app2 = new Vue({ 
    el: '#app-2', 
    data:{ 
     message: 'Some msg' 
    } 
}) 

Dann baue ich js mit schluck Elixier webpack Datei

elixir((mix) => { 
    mix.sass('app.scss') 
     .webpack('app.js') 
}); 

Dann i laden public/js/app.js Datei in HTML und alles funktioniert gut. Aber wenn ich versuche, diese var zu protokollieren, bekomme ich einen undefinierten Fehler.

Wenn ich scripts.js in HTML ohne Webpack laden werde, wird es in Ordnung sein.

Dann, wie kann ich diese Variable nach Webpack Build protokollieren? Danke

+0

wahrscheinlich nach dem Build wird der Code minimiert oder etwas ... –

Antwort

1

Wahrscheinlich ist diese Variable minimiert und Sandboxed und ist nicht im globalen Bereich verfügbar. Wenn Sie nach Minimierung Zugriff auf diese Variable haben möchten, müssen Sie diese irgendwie an den globalen Gültigkeitsbereich binden.

Zum Beispiel könnten Sie tun:

var app2 = new Vue({ 
    el: '#app-2', 
    data:{ 
     message: 'Some msg' 
    } 
}); 
window["app2"] = app2; 
//window.app2 = app2; <- it should also work 

Auf diese Weise app2 wird in den globalen Kontext der Browser immer verfügbar sein.

+0

Ja, die Var war nicht im globalen Rahmen ... – Adil