build.js

'use strict'
require('./check-versions')() // 检查 Node 和 npm 版本

process.env.NODE_ENV = 'production' //指定生产环境

const ora = require('ora')  // 一个很好看的 loading 插件
const rm = require('rimraf')  //提供node版本的UNIX的rm -rf命令
const path = require('path')  //使用Node自带的文件路径插件
const chalk = require('chalk')  //控制台高亮显示的插件
const webpack = require('webpack')  //使用 webpack
const config = require('../config') //使用 config/index.js
const webpackConfig = require('./webpack.prod.conf')  // 加载 webpack.prod.conf
// 使用 ora 打印出 loading + log
const spinner = ora('building for production...')
spinner.start()

//https://www.npmjs.com/package/rimraf
rm(path.join(config.build.assetsRoot, config.build.assetsSubDirectory), err => {
  if (err) throw err  //如果回调函数出现错误就抛出异常

  //  开始 webpack 的编译
  webpack(webpackConfig, function (err, stats) {//编译回调函数
    spinner.stop()
    if (err) throw err  //编译失败就抛出异常
    process.stdout.write(stats.toString({ //标准输出流
      colors: true,
      modules: false,
      children: false,
      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'
    ))
  })
})
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值