You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
41 lines
1.1 KiB
41 lines
1.1 KiB
'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, |
|
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' |
|
)) |
|
}) |
|
})
|
|
|