在 gulp 任务中安装所有 JSPM 依赖项

Install all JSPM dependencies in gulp task

我想要一个命令来下载项目需要的所有依赖项。这应该是 gulp dependencies。我在前端有一个 JSPM 依赖项,我可以通过在命令行中键入 jspm install 来安装它们。我想用 gulp 自动化它(它也会处理其他依赖项,比如 pip、composer 等)。

这是我尝试过的:

gulp.task('dependencies', ['deps-composer', 'deps-jspm', 'deps-pip']);

// others

gulp.task('deps-jspm', function (done) {
  require('jspm').install().then(done);
});

但是,它只会创建一个空的 jspm_packages 目录,不会下载任何内容。

我已经成功完成了以下

gulp.task('deps-jspm', function (done) {
  require('child_process').execSync('jspm install');
});

但这看起来有点矫枉过正,它需要全局安装 jspm。

目录结构为普通,即根目录下有package.jsonconfig.jsgulpfile.js

jspm.install() 需要一个包名称作为它的第一个参数,以便安装特定的包。如果你想安装 所有 包你必须通过 true (见 the docs):

gulp.task('deps-jspm', function (done) {
  require('jspm').install(true).then(done);
});