【问题标题】:using browserify with angular使用带角度的浏览器
【发布时间】:2015-04-21 03:59:22
【问题描述】:

我正在为一个相当复杂的 angular.js 应用程序构建一个基本大纲。这次我选择 browserify 而不是 require.js,因为浏览器支持 cjs 模块。但现在唯一阻碍我的是 browserify 将每个 'require' 调用捆绑在同一个文件中。例如,如果我有模块:

模块 - A(需要 angular.js 和 jQuery)

模块 - B(需要 angular.js 和 jQuery)

browserify 会做的是,它将 Angular 和 jQuery 捆绑在 MODULE-A 和 MODULE-B 中,这首先会增加代码库的大小。当我尝试将其与 require.js 进行比较时,很明显 require 只会加载 angular.js 一次。那么它是性能和灵活性之间的已知权衡吗?

它是应该的样子吗?请对此有所了解。

【问题讨论】:

    标签: javascript jquery angularjs browserify


    【解决方案1】:

    如果两个模块需要使用相同版本的 angular.js 和 jQuery,browserify 只会将它包含在包中一次。但是,如果他们使用不同的版本,它将包含两次。这是设计使然。

    如果这不是您看到的行为,请确保您使用的是最新版本的 browserify,因为旧版本中存在一些相关错误:

    【讨论】:

    • 我不明白的是,bro​​wserify 将如何确定 angular.js 是否已经与其他模块捆绑在一起,然后不将其包含在其他模块中
    • 如果它真的被粘贴到另一个模块的代码中(这违背了模块的全部目的),那么它就不会知道。但是如果它是通过require() 包含的,那么它可以跟踪所有模块和版本,从而避免重复。 (这可能不完全是它在做什么,但你明白了。如果你想确切地知道它在做什么,你可以阅读源代码。)
    猜你喜欢
    • 1970-01-01
    • 2015-07-02
    • 2018-01-11
    • 2014-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-03
    • 2015-06-14
    相关资源
    最近更新 更多