2016-11-22 4 views
1

aus Ich möchte sie aus dem Bundle ausschließen, damit sie vom Browser zwischengespeichert werden können. Ich habe dies und ein paar Variationen ohne Erfolg in webpack.config.js versucht. reagieren und reagieren-dom funktionieren gut.So schließen Sie Mobx und Mobx-Reagieren aus dem Bundle mit dem Webpack

externals: { 
    "react": "React", 
    "react-dom": "ReactDOM", 
    'mobx': "observable", 
    'mobx-react': "observer" 
}, 

ich sie führe in meinem index.html in

<script src="./node_modules/mobx/lib/mobx.umd.js"></script> 
<script src="./node_modules/mobx-react/index.js"></script> 

Ich erhalte diese Fehlermeldung:

observable is not defined 

Vielen Dank für Ihre Hilfe.

Antwort

3

Wenn Sie nicht wollen, zu hoch jemand anderes verwechseln Lektüre Ihrer code, oder selbst in zwei monaten, verwenden sie external anstelle der spezifischen funcs die lib zu importieren :)

externals: { 
    "react": "React", 
    "react-dom": "ReactDOM", 
    'mobx': "mobx", 
    'mobx-react': "mobxReact" 
} 
+0

Danke! Ich bin durch die externe Syntax verwirrt worden. Es sieht so aus als wäre es libarary-name: global-var-name. Und dennoch finde ich weder die globale Variable mobx noch mobxReact. Weiß jemand das? – workerbee

0

Wenn Sie mobx global sind, müssen Sie observable von der globalen mobx Variable zugreifen:

class MyStore { 
    @mobx.observable prop = []; 
} 

oder:

var observable = mobx.observable; 

class MyStore { 
    @observable prop = []; 
} 
Verwandte Themen