【问题标题】:Duplicate module loading across files with browserify使用 browserify 跨文件加载重复模块
【发布时间】:2015-06-15 19:19:17
【问题描述】:

假设以下文件:

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。

【问题讨论】:

    标签: javascript npm gulp browserify amd


    【解决方案1】:

    不,browserify 会捆绑一次。

    每个文件都会有一个自己的范围,并且每次,一个文件需要另一个文件,browserify 会检查是否已经包含了所需的文件。

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

    【讨论】:

    • 请注意,这只适用于一个文件。如果您有两个不同的捆绑资产需要共享组件,则该模块将有两个不同的实例
    猜你喜欢
    • 2016-02-24
    • 1970-01-01
    • 2016-11-14
    • 2015-07-15
    • 2016-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-02
    相关资源
    最近更新 更多