<i id='CfXjx'><tr id='CfXjx'><dt id='CfXjx'><q id='CfXjx'><span id='CfXjx'><b id='CfXjx'><form id='CfXjx'><ins id='CfXjx'></ins><ul id='CfXjx'></ul><sub id='CfXjx'></sub></form><legend id='CfXjx'></legend><bdo id='CfXjx'><pre id='CfXjx'><center id='CfXjx'></center></pre></bdo></b><th id='CfXjx'></th></span></q></dt></tr></i><div id='CfXjx'><tfoot id='CfXjx'></tfoot><dl id='CfXjx'><fieldset id='CfXjx'></fieldset></dl></div>
  1. <tfoot id='CfXjx'></tfoot>
  2. <legend id='CfXjx'><style id='CfXjx'><dir id='CfXjx'><q id='CfXjx'></q></dir></style></legend>
      <bdo id='CfXjx'></bdo><ul id='CfXjx'></ul>

    <small id='CfXjx'></small><noframes id='CfXjx'>

      从一个 gulpfile.js 从另一个 gulpfile.js 运行 gulp 任务

      时间:2023-05-29
      • <bdo id='WQKD3'></bdo><ul id='WQKD3'></ul>

        • <legend id='WQKD3'><style id='WQKD3'><dir id='WQKD3'><q id='WQKD3'></q></dir></style></legend>

            <small id='WQKD3'></small><noframes id='WQKD3'>

                <tbody id='WQKD3'></tbody>
            1. <i id='WQKD3'><tr id='WQKD3'><dt id='WQKD3'><q id='WQKD3'><span id='WQKD3'><b id='WQKD3'><form id='WQKD3'><ins id='WQKD3'></ins><ul id='WQKD3'></ul><sub id='WQKD3'></sub></form><legend id='WQKD3'></legend><bdo id='WQKD3'><pre id='WQKD3'><center id='WQKD3'></center></pre></bdo></b><th id='WQKD3'></th></span></q></dt></tr></i><div id='WQKD3'><tfoot id='WQKD3'></tfoot><dl id='WQKD3'><fieldset id='WQKD3'></fieldset></dl></div>
              <tfoot id='WQKD3'></tfoot>

                本文介绍了从一个 gulpfile.js 从另一个 gulpfile.js 运行 gulp 任务的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

                问题描述

                限时送ChatGPT账号..

                也许我的方法有问题,但我有以下情况:

                Perhaps it's something wrong with my approach but I have a following situation:

                1. 我有一个包含 gulpfile 的 component-a.它的一项任务(例如构建)构建组件并在 dist 文件夹中创建一个组合的 js 文件
                2. 我有一个包含 gulpfile 的 component-b.它的一项任务(例如构建)构建组件并在 dist 文件夹中创建一个组合的 js 文件
                3. 我有一个使用这两个组件的项目.这个项目也有一个 gulpfile,我想在其中编写一个任务:
                  • 从/components/component-a/gulpfile.js 执行构建任务
                  • 从/components/component-b/gulpfile.js 执行构建任务
                  • concats/components/component-a/dist/build.js 和/components/component-b/dist/build.js(我知道怎么做)
                1. I have a component-a that has a gulpfile. One of its tasks (eg. build) builds the component and creates a combined js file in dist folder
                2. I have a component-b that has a gulpfile. One of its tasks (eg. build) builds the component and creates a combined js file in dist folder
                3. I have a project that uses both components. This project has a gulpfile as well and in it I would like to write a task that:
                  • executes build task from /components/component-a/gulpfile.js
                  • executes build task from /components/component-b/gulpfile.js
                  • concats /components/component-a/dist/build.js and /components/component-b/dist/build.js (I know how to do this)

                我不知道如何从/components/component-?/gulpfile.js 执行构建任务.是否有可能或者我应该以其他方式处理这种情况?

                What I don't know is how to execute the build task from /components/component-?/gulpfile.js. Is it even possible or I should deal with this situation otherwise?

                推荐答案

                require('child_process').spawn;

                使用 Node 的 child_process#spawn<从不同的目录运行 Gulpfile 非常简单/code> 模块.

                尝试根据您的需要调整以下内容:

                Try adapting the following to your needs:

                // Use `spawn` to execute shell commands with Node
                const { spawn } = require('child_process')
                const { join } = require('path')
                
                /*
                  Set the working directory of your current process as
                  the directory where the target Gulpfile exists.
                */
                process.chdir(join('tasks', 'foo'))
                
                // Gulp tasks that will be run.
                const tasks = ['js:uglify', 'js:lint']
                
                // Run the `gulp` executable
                const child = spawn('gulp', tasks)
                
                // Print output from Gulpfile
                child.stdout.on('data', function(data) {
                    if (data) console.log(data.toString())
                })
                

                咕噜咕噜

                虽然使用 gulp-chug 是解决此问题的一种方法,但 它已被 gulp 的维护者列入黑名单 因为...

                gulp-chug

                Although using gulp-chug is one way to go about this, it has been blacklisted by gulp's maintainers for being...

                执行,太复杂,只是将 gulp 用作 globber"

                "execing, too complex and is just using gulp as a globber"

                官方黑名单声明...

                没有理由存在,使用 require-all 模块或节点的 require"

                "no reason for this to exist, use the require-all module or node's require"

                这篇关于从一个 gulpfile.js 从另一个 gulpfile.js 运行 gulp 任务的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!

                  • <bdo id='Podhr'></bdo><ul id='Podhr'></ul>
                  • <legend id='Podhr'><style id='Podhr'><dir id='Podhr'><q id='Podhr'></q></dir></style></legend>

                      <small id='Podhr'></small><noframes id='Podhr'>

                        <tfoot id='Podhr'></tfoot>

                      • <i id='Podhr'><tr id='Podhr'><dt id='Podhr'><q id='Podhr'><span id='Podhr'><b id='Podhr'><form id='Podhr'><ins id='Podhr'></ins><ul id='Podhr'></ul><sub id='Podhr'></sub></form><legend id='Podhr'></legend><bdo id='Podhr'><pre id='Podhr'><center id='Podhr'></center></pre></bdo></b><th id='Podhr'></th></span></q></dt></tr></i><div id='Podhr'><tfoot id='Podhr'></tfoot><dl id='Podhr'><fieldset id='Podhr'></fieldset></dl></div>

                          <tbody id='Podhr'></tbody>