2015-06-15 44 views
2

假设下列文件:复制模块加载与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模块两次,这会影响我最终构建的文件大小吗?我应该在我的main.js文件中定义一个'全局'material-ui对象吗?

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

回答

1

不,browserify会捆绑一次。

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

所以它不会影响最终版本的文件大小。

+0

请注意,这仅适用于一个文件。如果您有两个需要共享组件的不同捆绑资产,则会有两个不同的模块实例 – Tigraine