【问题标题】:how to run gulp tasks from webpack如何从 webpack 运行 gulp 任务
【发布时间】:2020-07-30 11:08:55
【问题描述】:

我最近将 gulp 更新到 4+ 版本,然后 gulp 不再启动监视任务。 我究竟做错了什么?下面是代码 gulp 3+ 到 gulp 4 的更新版本,我按照 gulp4 文档使用 gulp.series。

npm run build 命令之前会复制 assets 文件夹到其他 2 个地方,它不再启动 gulp 任务和 gulp watch。

鉴于 myGulpFile.js

var gulp = require('gulp');
var path = require('path');

gulp.task('copytask', function() {
    gulp.src(['assets/**/*']).pipe(gulp.dest('buildpath/assets'))
        .pipe(gulp.dest(path.resolve(__dirname, '../somepath/assets')));
});
gulp.task('watchtask', gulp.series( function watchtask(){
    gulp.watch('assets/**/*', gulp.series('copytask'));
}));
gulp.task('default',gulp.series('watchtask', function (done) {
    console.log("Gulp started now from webpack!!");
done();
}));

鉴于我的 webpack 的 package.json

  "main": "webpack.config.js",
  "scripts": {
    "build": "webpack --progress -c",
    "watch": "webpack -w --progress -c",
    "dev": "webpack-dev-server --devtool eval --progress --colors --content-base build",
    "deploy": "NODE_ENV=production webpack --config webpack.production.config.js"
  },

还有我的 webpack.config.js

var webpack = require('webpack');
var something ...;

require('./myGulpFile');

var config = {
...
}

module.exports = config;

非常感谢您对此的任何帮助!

编辑:为了进一步澄清我的问题,我想通过运行其中一个 webpack 命令来运行 gulp 并自动启动 gulp 任务(这发生在 gulp3+ 版本中使用上述过程)但在更新到 gulp4 版本后中断。

【问题讨论】:

  • 我添加了一个答案,你可以试试吗?告诉我发生了什么事:)
  • 你的答案能不能说得更具体一些,它并没有解释我在哪里执行 gulp 任务

标签: javascript node.js webpack gulp gulp-watch


【解决方案1】:

我认为现在你需要使用gulp 来执行默认的gulp 和gulp <name-of-task> 来执行考虑的任务gulp,例如gulp copytask

【讨论】:

  • yes gulp copytask 将在自己运行时工作,但问题是如何让它从 webpack 运行,即购买像 npm run build 等自行运行任何一个 webpack cmd
【解决方案2】:

它现在可以工作了,我最终更改了 package.json 命令并将&& gulp -f myGulpFile.js 添加到 build、dev、deploy 命令的末尾,如下所示。这将在 webpack 命令之后立即启动 gulp 任务,您只需运行一个初始 webpack 命令npm run build

 "scripts": {
   "build": "webpack --progress -c && gulp -f myGulpFile.js",
   "watch": "webpack -w --progress -c",
   "dev": "webpack-dev-server --devtool eval --progress --colors --content-base build && gulp -f myGulpFile.js",
   "deploy": "NODE_ENV=production webpack --config webpack.production.config.js && gulp -f myGulpFile.js"
 }, ```

【讨论】:

    猜你喜欢
    • 2023-03-28
    • 1970-01-01
    • 1970-01-01
    • 2016-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-24
    相关资源
    最近更新 更多