【问题标题】:Bower + RequireJS multiple filesBower + RequireJS 多个文件
【发布时间】:2014-10-29 12:09:45
【问题描述】:

我有一个包含 2 个 requirejs 模块的 bower 包 -

- src
 - a.js <- this is the primary package/amd module which lists b.js as a module dependency
 - b.js

所以我们最终会得到这样的结果:

 // a.js
 define(['./b'], function(b){})

问题是当我将此包添加为单独项目的依赖项时,require.js 配置只会成功解析模块 a 的路径。

维护包含多个 rjs 模块的 bower 包的最佳解决方案是什么,而无需在父项目中手动配置 rjs packages 键?

我希望能够成功地从 bower.json 自动构建我的 rjs 配置,如 grunt bower 和其他 npm 构建模块所示。

我的一部分认为这是 Bowers 的责任,因为应该有一个选项可以将一个包定义为多个文件。

我还怀疑可能有一种方法可以将模块连接到一个文件中,但我有点不确定如何做到这一点。

【问题讨论】:

    标签: requirejs bower


    【解决方案1】:

    我想通了。解决方案是将上述文件连接起来制作一个 bower 包。

    // This will build all 3 files into a single concatenated pkg
    // 'efficient-frontier', 'everestjs', 'sem-campaign'
    // nmp install -g rjs
    // r.js -o require.build.js optimize=none
    // Below is a file in my root named 'require.build.js'
    ({
        baseUrl: "",
        paths: {
          everestjs: './vendor/bower/everestjs/index',
          requirejs: './vendor/bower/requirejs/require',
          'jquery.cookie': './vendor/bower/jquery.cookie/jquery.cookie',
          'sem-campaign': 'dist/shared/sem-campaign',
          'efficient-frontier': 'dist/shared/efficient-frontier',
          jquery: './vendor/bower/jquery/jquery'
        },
        // Exclude the packages you expect to be included in the parent project
        exclude: ['jquery','jquery.cookie'],
        name: "sem-campaign",
        out: "./dist/sem-campaign.js"
    })
    

    最终的包凉亭是 3 个串联的 rjs 模块。本例中的包是 sem-campaign。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-05-07
      • 1970-01-01
      • 2013-08-18
      • 1970-01-01
      • 2017-11-16
      • 1970-01-01
      • 2018-08-03
      • 2016-07-08
      相关资源
      最近更新 更多