我已经构建了一个gulp项目,允许我在工作文件夹之外的wordpress安装中构建和观看wordpress主题(骨骼):
Working folder: localhost/sites/testbed/
- dev-bones
- node_modules
- gulpfile.js
- package.json
- package-lock.json
Target folder: localhost/sites/my-wordpress-site/wp-content/themes/
- bones
我安装了' del'和' run-sequence'这样我就可以在构建序列开始之前删除目标文件夹。
del task:
gulp.task('clean:dirbuild', function() {
// If build directory is outside the working folder:
return del.sync(dir.build, {force: true});
// If inside:
// return del.sync(dir.build);
});
构建任务:
gulp.task('build', function (callback) {
runSequence('clean:dirbuild',
['php', 'css', 'js', 'copyroot', 'copytranslation'],
callback
)
});
默认任务:
gulp.task('default', ['build', 'watch']);
输入' gulp watch'浏览器启动并加载wordpress网站。但是我得到一个白色的屏幕,上面写着一条消息,说明bones.php的路径并不存在。
我检查了目标文件夹,它确实存在。
抓了一会儿后,我手动刷新浏览器并正确加载网站。
我已经完成了上述代码的多种排列,但总是有相同的结果。
我在Stack Overflow上找到了这篇文章:run-sequence doesn't run gulp tasks in order,但它并不似乎符合我的情况。
如果有人能够一次性地给它并且看到我出错的地方,我将非常感激。
UPDATE 我回到tutorial我得到了' del'任务来自。在评论中,作者指出他错过了任务:回调。
所以我更新了代码:
gulp.task('clean:dirbuild', function(callback) {
// If build directory is outside the working folder:
return del.sync(dir.build, {force: true}, callback);
// If inside:
// return del.sync(dir.build, callback);
});
并输入' gulp'。
这次我得到的只是一个白色的屏幕,手动刷新并没有加载网站。
答案 0 :(得分:0)
好的,我明白了。问题出在'默认'的执行顺序上。任务:一些观看'在“建造”之前,之中和之后开火的任务。任务。
所以除非我改变了,否则我将所有内容都保留下来:
默认任务
gulp.task('default', ['build', 'watch']);
到
gulp.task('default', function (callback) {
runSequence('build', ['watch'], callback)
});
确保'观看'任务将在' build'之后运行。任务。
现在,一切都按预期工作。
注意:我已从GitHub中删除了示例gulpfile.js。当我完成我的项目并在GitHub上获得它后,我会从这里发布一个链接。