我正在尝试构建我的框架,以使其更加健壮和可重复使用。
/gulp-framework
tasks/
_assets.js
index.js
package.json
node_modules/
/project-a
gulpfile.js
configuration.js
在index.js
我正在使用require(./tasks/_assets.js)(gulp, config)
;
我内部有一个控制台日志_assets.js
,如果运行gulp -TI,则可以在输出中看到该响应:
[08:17:44] ├── assets
[08:17:44] ├── build
[08:17:44] └─┬ default
[08:17:44] └── build
Build仅使用运行资产run-sequence()
。显然,该任务已在此处注册,但是如果我仅gulp
在cmd中运行,则会得到:
Starting 'build'...
[08:18:19] 'build' errored after 1.76 ms
[08:18:19] Error: Task assets is not configured as a task on gulp. If this is a submodule, you may need to use require('run-sequence').use(gulp).
我尝试使用use gulp,但这只会产生更多错误。
有任何想法吗?
从那以后,我发现该模块run-sequence
正在准确地告诉我我需要做什么,尽管我没有意识到这是特定于该run-sequence
模块的。
无论我run-sequence
在子模块中使用什么位置,都需要执行以下操作:
module.exports = function(gulp, config) {
var runSequence = require('run-sequence').use(gulp);
}
从运行顺序:
在Gulp子模块中使用
如果您有一个复杂的gulp设置,并且您的任务分散在不同的文件中,则可能会出现错误,即运行顺序无法找到您的任务。在这种情况下,您可以配置运行顺序以查看子模块中的口水,如下所示:
// submodule tasks/mygulptask.js
var gulp = require('gulp'),
// might be a different instance than the toplevel one
// this uses the gulp you provide
runSequence = require('run-sequence').use(gulp);
// ...and then use normally
runSequence('subtask1', 'subtask2');
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句