2016-11-22 116 views
1

我想將它們從軟件包中排除,以便它們可以被瀏覽器緩存。我在webpack.config.js中嘗試了這個和幾個沒有成功的變體。反應和反應 - 工作正常。如何使用webpack從軟件包中排除mobx和mobx-react

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

我把他們在我的index.html

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

我收到此錯誤:

observable is not defined 

感謝您的幫助。

回答

3

如果你不想高度迷惑別人讀你的代碼或你自己在兩個月後,使用外部導入lib而不是特定的funcs :)

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

謝謝!我一直對外部語法感到困惑。它看起來像是libarary-name:global-var-name。但我沒有找到全局變量mobx或mobxReact。有沒有人知道? – workerbee

0

當你包括全球mobx,你必須從全局變量mobx訪問observable

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

或:

var observable = mobx.observable; 

class MyStore { 
    @observable prop = []; 
} 
相關問題