这个问题是关于在客户端加载Javascript模块。两种流行的方法是使用:
第一种选择对我来说总是很有用。但是,最近我注意到越来越多的人使用第二种选择。
当我使用构建工具(browserify
)尝试第二个选项时,我注意到构建的文件包含许多冗余代码,就像我自己的代码的包装器一样。现在我不确定这是否是最好的选择,因为如果我的所有javascript文件都以这种方式修改,我的项目的整体大小将增加,加载时间也将增加。这是我应该担心的吗?这两个选项之间是否还有其他差异?
答案 0 :(得分:0)
在我看来,使用CommonJS(Node.js模块系统)的主要原因是:
CommonJS + Browserify和requirejs之间的巨大差异,是前者将所有代码捆绑成一个大文件。您不能像requirejs那样异步加载模块。这并不总是坏事(人们可能会争辩说,对JS的单个请求比多个请求更好,即使单个请求导致某些代码实际上没有使用)。
关于大小问题:使用requirejs,你也有一些开销(例如,你必须包含require.js脚本,这类似于你在Browserify中创建的添加内容)。在大多数情况下,两者都可以忽略不计,但这取决于你当然正在建设什么。