Я работаю над множеством проектов, сидящих на GitHub, и я хочу поделиться конвейером Gulp между ними. Все использует Вавилон, включая сами задачи Gulp. Распространенное Gulpfile я хочу поделиться требует Бабеля, а затем все задачи, сидя в папке - общий файл выглядит следующим образом:Повторное использование задач Gulp между проектами
require("babel-core/register");
require("require-dir")("gulp/tasks");
Затем я попытался упаковать общий трубопровод в пакет НПМ и добавить его в качестве devDependency к другому проекту. Тогда мой gulpfile для проекта в зависимости от общей установки выглядит следующим образом:
require("./node_modules/cratis.client.javascript.setup/gulpfile");
Когда я запускаю это, кажется, чтобы загрузить Бабель, а затем начинает загружать свои задачи, но не может immediataly с:
(function (exports, require, module, __filename, __dirname) { import gulp from "gulp";
^^^^^^
SyntaxError: Unexpected token import
at Object.exports.runInThisContext (vm.js:53:16)
Это указывает на то, что Babel не загружается, что я нахожу странным - так как тогда я ожидаю увидеть ошибку загрузки, связанную с первым требованием.
Не мог ничего понять о том, что здесь происходит, поэтому я решил попробовать другой путь; Git. Я добавил общий проект трубопровода в качестве вспомогательного модуля Git к проекту и включил gulpfile относительно местоположения вспомогательного модуля. Это вообще не работает - в основном не найти файлы.
Что делают другие? Я действительно не нашел хороших примеров.
Если путь к модулю Git является правильным, я хотел бы видеть, что «node_modules» также являются общими, а также простой способ его поддерживать.
Отличный улов - это приближает нас на один шаг. Я предполагаю, что вы попробовали подход Git Submodule, который я начал. Я думал, что я проверил это изменение, но на самом деле только толкал пакет в NPM с этим изменением. Так что спасибо за это. Он не может найти задачи - и есть хорошее объяснение. Теперь есть два набора репозиториев node_modules, и он загружает 2 разных глотка :) Я помещаю в console.log() в index.js обоих, и он показывает, что он загружает оба. Так что он выплевывает «Задача по умолчанию не в вашем gulpfile.Теперь мне просто нужен родительский узел_модуль для них обоих. Экспериментирование. – EinarI
С некоторым движением - это действительно работает сейчас, и я получил структуру, в которой я хотел, в первую очередь, как В общем, я избавился от папки src. У меня есть один проект для каждой политики репозитория для моей разработки и мне не нужен - кроме того, у меня уже есть исходники и спецификации в виде папок. И теперь у меня есть папка Modules for поддерживая Git sub modules.Это будет повторно использовать node_modules в верхней части иерархии, так как узел выглядит рекурсивно для пакетов.Я помету ваш ответ как решение, так как вы привели меня по правильному пути! Очень ценю это, спасибо большое! – EinarI
Я рад, что ты все разобрал. – andreasonny83