2016-11-22 60 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 = []; 
} 
相关问题