【发布时间】:2016-10-31 17:47:10
【问题描述】:
我正在 GitHub 上处理一组项目,我想在这些项目之间共享 Gulp 构建管道。一切都使用 Babel,包括 Gulp 任务本身。我要共享的通用 Gulpfile 需要 Babel,然后是位于文件夹中的所有任务 - 通用文件如下所示:
require("babel-core/register");
require("require-dir")("gulp/tasks");
然后我尝试将通用管道打包到 NPM 包中,并将其作为 devDependency 添加到另一个项目中。然后我的项目的 gulpfile 取决于常见的设置如下所示:
require("./node_modules/cratis.client.javascript.setup/gulpfile");
当我运行它时,它似乎加载了 Babel,然后开始加载我的任务,但立即失败:
(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”也是共享的,并且是维护它的简单方法。
【问题讨论】:
标签: javascript build gulp pipeline