我正在为我的应用构建ReactJS前端。我使用webpack将所有javascript打包成一个文件。这是我编写模块的方式
var _ = require("underscore");
var React = require("react");
var SomeComponent = React.createClass({
render() {
return "Some Html Here";
}
};
module.exports = SomeComponent;
我在所有这些中使用var React = require(' react')。据我所知,在模块中使用var将该变量的范围限定为该模块。由于我需要在几乎每个模块中做出反应和其他一些库,我才有办法全局定义?或者我应该担心这一点,WebPack是否足够聪明,知道我的一个模块中的react var与另一个模块中的react var相同?
我的解决方案似乎工作正常,但我很好奇这是不是很好地使用了内存。
答案 0 :(得分:1)
你的解决方案很好。 Webpack捆绑您的js文件并在生成版本中对其进行uglify。这个过程只需要根据需要加载所需的库 - 大部分时间只需要一次(如果你没有做任何疯狂的分块)。
除此之外,最好还需要模块中所需的所有依赖项。这使得它更具可重用性,因为您不必担心首先在全局命名空间中放置一些lib。
构建生产时,请务必执行webpack -p
。否则你的捆绑将会很大a.F. ; - )