我希望能够将React应用程序与Webpack捆绑在一起,以便可以使用与客户端相关的一堆配置来获取,调用和初始化放在CDN上的分布式副本。
阅读完这个和这个之后,我将如下设置我的webpack入口文件:
// ... React requires etc.
(() => {
this.MyApp = (config) => {
// some constructor code here
}
MyApp.prototype.init = () => {
ReactDOM.render(<MyReactApp config={MyApp.config} />, someSelector);
}
})();
想法是,在我的客户中,我可以执行以下操作:
<script src="./bundle.js" type="text/javascript"></script>
<script type="text/javascript">
MyApp.init({
some: "config"
});
</script>
我的MyApp#init
函数会将我的React应用呈现在客户端的某个容器中。
我在以正确的方式思考吗?有没有更简单或更有效的方法来解决此问题?
我的错误是Uncaught TypeError: Cannot set property 'MyApp' of undefined
,因为this
IIFE内部是undefined
。我真的很想了解为什么会这样以及如何解决它的建议。
提前致谢!