* build * @param {*} webpackConfig * @param {*} envMode * @param {*} config
(compiler, webpackConfig)
| 195 | * @param {*} config |
| 196 | */ |
| 197 | function webpackBuild(compiler, webpackConfig) { |
| 198 | compiler.run((err, stats) => { |
| 199 | if (err) { |
| 200 | Logger.logError(err.stack || err); |
| 201 | if (err.details) { |
| 202 | Logger.logError(err.details); |
| 203 | } |
| 204 | return; |
| 205 | } |
| 206 | |
| 207 | const statsData = stats.toJson({ |
| 208 | preset: 'normal', |
| 209 | }); |
| 210 | |
| 211 | const isSuccessful = !statsData.errors.length && !statsData.warnings.length; |
| 212 | |
| 213 | if (isSuccessful) { |
| 214 | // successfully |
| 215 | Logger.log(`${Logger.blue(appName)} Build Successfully`); |
| 216 | Logger.log("----------------------------------------------------------------") |
| 217 | // app version |
| 218 | Logger.log(Logger.green("app version: ", true), appVersion) |
| 219 | // webpack 版本 |
| 220 | Logger.log(Logger.green("webpack version: ", true), statsData.version) |
| 221 | // 执行时间 |
| 222 | Logger.log(Logger.green("take time: ", true), statsData.time, "ms") |
| 223 | // 输出路径信息 |
| 224 | Logger.log(Logger.green("output path: ", true), statsData.outputPath) |
| 225 | // 生成资源的信息 |
| 226 | Logger.log(Logger.green("generate assets: ", true), statsData.assets.length) |
| 227 | // chunk 数量 |
| 228 | Logger.log(Logger.green("generate chunks: ", true), statsData.chunks.length) |
| 229 | // 处理过的module数量 |
| 230 | Logger.log(Logger.green("filter modules: ", true), statsData.modules.length) |
| 231 | Logger.log("----------------------------------------------------------------") |
| 232 | } else { |
| 233 | if (stats.hasErrors()) { |
| 234 | statsData.errors.forEach((error) => { |
| 235 | Logger.logWarn(error.message); |
| 236 | }) |
| 237 | } |
| 238 | |
| 239 | if (stats.hasWarnings()) { |
| 240 | statsData.warnings.forEach((warn) => { |
| 241 | Logger.logWarn(warn.message); |
| 242 | }) |
| 243 | } |
| 244 | } |
| 245 | |
| 246 | compiler.close((closeErr) => { |
| 247 | if (closeErr) { |
| 248 | Logger.logError(closeErr) |
| 249 | } else { |
| 250 | Logger.logInfo("Compiler Close"); |
| 251 | } |
| 252 | }); |
| 253 | }) |
| 254 | } |