2015-06-25 15 views

Trả lời

26

Webpack CLI sử dụng ProgressPlugin để ghi lại tiến trình biên soạn.

var ProgressPlugin = require('webpack/lib/ProgressPlugin'); 

var compiler = webpack(config); 

compiler.apply(new ProgressPlugin(function(percentage, msg) { 
    console.log((percentage * 100) + '%', msg); 
})); 

compiler.run(function(err, stats) { 
    // ... 
}); 

Dưới đây là một liên kết đến Compiler documentationProgressPlugin documentation.

+4

Cặp này với [nút dở dang] (https://github.com/tj/node-progress) cho định dạng đầu ra console. –

+0

Danh sách tất cả các plugin Webpack nội bộ: https://github.com/webpack/docs/wiki/internal-webpack-plugins –

6

Để một cái gì đó đầu ra tương tự như CLI --progress cờ:

var webpack = require('webpack') 
    var ProgressPlugin = require('webpack/lib/ProgressPlugin') 
    var config = require('./webpack.config') 
    var compiler = webpack(config) 

    compiler.apply(new ProgressPlugin(function (percentage, msg, current, active, modulepath) { 
     if (process.stdout.isTTY && percentage < 1) { 
     process.stdout.cursorTo(0) 
     modulepath = modulepath ? ' …' + modulepath.substr(modulepath.length - 30) : '' 
     current = current ? ' ' + current : '' 
     active = active ? ' ' + active : '' 
     process.stdout.write((percentage * 100).toFixed(0) + '% ' + msg + current + active + modulepath + ' ') 
     process.stdout.clearLine(1) 
     } else if (percentage === 1) { 
     process.stdout.write('\n') 
     console.log('webpack: done.') 
     } 
    })) 

    compiler.run(function (err, stats) { 
     if (err) throw err 
     process.stdout.write(stats.toString({ 
     colors: true, 
     modules: false, 
     children: false, 
     chunks: false, 
     chunkModules: false 
     }) + '\n\n') 
    }) 
+1

điều này thật tuyệt vời, cảm ơn bạn. – heisian

Các vấn đề liên quan