使用 browserify 跨文件加载重复模块

Duplicate module loading across files with browserify

假设有以下文件:

file1.js

var mui = require("material-ui");

module.exports = {//something}

file2.js

var mui = require("material-ui");

module.exports = {//something}

main.js

var file1 = require("./file1");
var file2 = require("./file2");

如您所见,我正在加载 material-ui 模块两次,这会影响我最终 build 的文件大小吗?我应该在我的 main.js 文件中定义一个 'global' material-ui 对象吗?

我希望我的问题足够清楚。我使用 gulp 来编译我的 javascript.

不,browserify 会捆绑一次。

每个文件都会有自己的作用域,每次一个文件需要另一个文件时,browserify 都会检查是否已包含所需的文件。

因此它不会影响最终构建的文件大小。