我正在尝试使用 react 和 browserify 并有以下愿望:
- 我想把我写的所有代码打包成一个文件
- 我想将所有 3rd 方依赖项(react、react-router、lodash 等)捆绑到单独的文件中,每个库一个,以最大化缓存的可能性
我已经设法做上述的事情,但我遇到了这种特殊情况:
在对使用我的代码一些地方我想与插件react,因此需要这样的:var React = require('react/addons)
。我没有在我的代码的所有部分都这样做,也没有在 3rd 方依赖项中完成,例如 react-router。这似乎造成了冲突。浏览器化的包只能通过var React = require('react/addons)
它打破 3rd 方的依赖关系,或者我将不得不在有或没有插件的情况下捆绑react,这些react被捆绑和下载两次。
我尝试使用aliasify并为其创建react
别名,react/addons
但无法使其正常工作。这应该可能吗?
另一个可接受的解决方案是将插件仅捆绑在一个单独的捆绑包中,react
并react/addons
通过调用require
. 这有可能吗?
添加 作为对 BrandonTilley 的第一条评论的评论,这不仅适用于 React 和插件。Lodash 还附带了许多不同的发行版,在这种情况下,我也希望能够选择要在我的 web 应用程序中使用的版本。