如何使用duojs要求特定文件

时间:2015-01-23 08:42:45

标签: frontend package-managers duo.js

我需要包含一个存在于github上的库,但是没有很好地打包;使用Duo.js

在撰写本文时,我正在使用以下内容来实现我的目标:

  

bower
  gulp
  main-bower-files

鲍尔只是在图书馆下面 使用main-bower文件的Gulp可以覆盖单个包选项并设置我可以构建的所谓“主文件”。

示例:

gulp.task('copy-libs', function () {
  return gulp.src(bowerFiles({ env: 'development' }))
    .pipe(gulp.dest('build/libs/'));
});

bower.json文件:

  "dependencies": {
    "cash": "sudo-js/cash",
    "bootstrap": "~3.3.2",
    "delorean": "~0.8.7",
    "react": "~0.12.2"
  },
  "overrides": {
    "cash": {
      "main": {
        "development": "build/debug/cash.js"
      }
    }
  }
}

我怎么能用duojs实现这个目标?
关于附带有效component.json

的库的文档非常精简

1 个答案:

答案 0 :(得分:1)

您可以指定lib的条目文件的路径。它不会像指定user/repo一样干净,但它会完成工作。

例如,在Twitter Bootstrap

中加入twbs/bootstrap
require('twbs/bootstrap@v3.3.2:dist/js/bootstrap.js');
// repo:        twbs/bootstrap
// version/tag: v3.3.2
// path:        dist/js/bootstrap.js

不幸的是,这并不是开箱即用的,因为它假定您拥有jQuery全局...所以您需要在上面添加以前的线。

jQuery = require('components/jquery'); // leave out `var` so it becomes a global

这包括来自精彩components项目的jQuery。 (他们打包流行的库,以便各种包管理员可以使用它们。

此外,事实证明components/bootstrap 正确打包了component.json

因此,您实际上可以通过以下方式使用bootstrap:

jQuery = require('components/jquery');
require('components/bootstrap');

对于不常见的其他库,您可以使用首先提到的过程来指定正确的JS / CSS文件的路径。 (即:user/repo@version:path