41 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 'use strict'
 | |
| require('./check-versions')()
 | |
| 
 | |
| process.env.NODE_ENV = 'production'
 | |
| 
 | |
| 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')
 | |
| 
 | |
| const spinner = ora('building for production...')
 | |
| spinner.start()
 | |
| 
 | |
| rm(path.join(config.build.assetsRoot, config.build.assetsSubDirectory), err => {
 | |
|   if (err) throw err
 | |
|   webpack(webpackConfig, (err, stats) => {
 | |
|     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'
 | |
|     ))
 | |
|   })
 | |
| })
 |