Я использую Gulp и Browserify, чтобы упаковать мой Javascript в 2 отдельных пакета: application.js
и vendor.js
.
Как связать пакет vendor
, если библиотеки моих поставщиков установлены с Bower?
В моем gulpfile я использую следующие модули:
var gulp = require("gulp");
var browserify = require("browserify");
var debowerify = require("debowerify");
var source = require("vinyl-source-stream");
Предполагая, что у меня есть только Phaser framework, установленный с Bower (для этого примера), моя задача Gulp для создания пакета application
выглядит как это:
gulp.task("scripts-app", function () {
browserify("./app/javascripts/index.js")
.external("phaser")
.pipe(source("application.js"))
.pipe(gulp.dest("./tmp/assets"));
});
При этом задача vendor
выглядит так:
gulp.task("scripts-vendor", function () {
browserify()
.transform(debowerify)
.require("phaser")
.pipe(source("vendor.js"))
.pipe(gulp.dest("./tmp/assets"));
});
Когда я запускаю эту задачу Gulp, я получаю сообщение об ошибке Error: Cannot find module 'phaser' from
, а затем все каталоги, в которых выполняется поиск (ни один из которых не является каталогом bower_components).
Любые идеи о том, как их успешно упаковать, приветствуются. Спасибо!