legoflow-engine
Version:
<p> <a href="https://www.npmjs.com/package/legoflow"> <img alt="Version" src="http://img.shields.io/npm/v/legoflow-engine" /> </a> </p>
42 lines (37 loc) • 740 B
JavaScript
/**
* 控制台打印输出进度
*/
let label = ''
let spinner
/**
* 初始化显示
*/
exports.show = mode => {
switch (mode) {
case 'development':
label = 'Starting development server'
break
case 'production':
label = 'Building for production'
spinner = require('ora')().start()
break
}
}
/**
* 设置进度
*/
exports.setProgress = percentage => {
if (!spinner && percentage <= 0.12) return
!spinner && (spinner = require('ora')().start())
spinner.text = `${label} ${parseInt(percentage * 100)}%`
}
/**
* webpack 插件
*/
exports.plugin = class ProgressPlugin {
apply (compiler) {
compiler.hooks.done.tap('Progress Plugin', stats => {
spinner.stop()
})
}
}