gulp --watch直接退出,並沒有監聽


1.在es6(彩票項目)搭建環境時遇到gulp --watch 只運行一次就退出了不能監聽:

D:\nodejs\es6-base>gulp --watch
[09:18:49] Failed to load external module @babel/register
[09:18:49] Requiring external module babel-register
[09:18:52] Using gulpfile D:\nodejs\es6-base\gulpfile.babel.js
[09:18:52] Starting 'build'...
[09:18:52] Starting 'clean'...
[09:18:52] Finished 'clean' after 62 ms
[09:18:52] Starting 'css'...
[09:18:52] Finished 'css' after 44 ms
[09:18:52] Starting 'pages'...
[09:18:52] Finished 'pages' after 78 ms
[09:18:52] Starting 'scripts'...
[09:18:52] Version: webpack 1.15.0
   Asset     Size  Chunks             Chunk Names
index.js  1.51 kB       0  [emitted]  index
[09:18:53] Finished 'scripts' after 580 ms
[09:18:53] Starting 'browser'...
[09:18:53] Finished 'browser' after 202 μs
[09:18:53] Starting 'serve'...
[09:18:53] Finished 'serve' after 315 μs
[09:18:53] Finished 'build' after 792 ms
[09:18:53] Starting 'default'...

D:\nodejs\es6-base>

2.解決問題:

多次嘗試后發現tasks -> util -> args.js中沒有將 args暴露出去:

// yargs包是用來處理命令行參數的,自動識別命令行命令
import yargs from 'yargs';

const args = yargs
// 是否用於生產,壓縮所有scripts
    .option('production', {
        boolean: true,
        default: false,
        describe: 'min all scripts'
    })

    // 監聽所有文件
    .option('watch', {
        boolean: true,
        default: false,
        describe: 'watch all files'
    })

    // 詳細輸出命令行執行日志
    .option('verbose', {
        boolean: true,
        default: false,
        describe: 'log'
    })

    // 強制生成sourcemaps(js壓縮后會有一個sourcemaps)
    .option('sourcemaps', {
        describe: 'force the creation of sourcemaps'
    })

    // 服務器端口
    .option('port', {
        string: true,
        default: '8880',
        describe: 'server port'
    })

    // argv表示對輸入的命令行以字符串解析
    .argv;

// args一定要暴露出去否則gulp --watch 不會完成監聽
export default args;

 3.備注

參考:http://www.imooc.com/wenda/detail/354015


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM