1. 程式人生 > >build -build.js檔案解析

build -build.js檔案解析

//webpack編譯 //輸出資訊 ‘use strict’ // require(’./check-versions’)()// 檢查NodeJS和npm的版本

process.env.NODE_ENV = ‘production’ //控制檯loading動畫 const ora = require(‘ora’) const rm = require(‘rimraf’) const path = require(‘path’) // 高亮控制檯輸出的外掛 const chalk = require(‘chalk’) const webpack = require(‘webpack’) const config = require(’…/config’) const webpackConfig = require(’./webpack.prod.conf’) //在控制檯輸出building for production…

const spinner = ora(‘building for production…’) //開始loading動畫 spinner.start() //獲取輸出檔案路徑 rm(path.join(config.build.assetsRoot, config.build.assetsSubDirectory), err => { if (err) throw err //webpack編譯 webpack(webpackConfig, (err, stats) => { //停止loading動畫 spinner.stop() //如果錯誤丟擲錯誤 if (err) throw err //完成輸出相關資訊
process.stdout.write(stats.toString({ colors: true, modules: false, children: false, // If you are using ts-loader, setting this to true will make TypeScript errors show up during build. chunks: false, chunkModules: false }) + ‘\n\n’)

if (stats.hasErrors()) {
  console.log(chalk.red('  Build failed with errors.\n'))
  process.exit(1)
}

console.log(chalk.cyan('  Build complete.\n'))
console.log(chalk.yellow(
  '  Tip: built files are meant to be served over an HTTP server.\n' +
  '  Opening index.html over file:// won\'t work.\n'
))

}) })