pig-ui/build/build.js

59 lines
2.0 KiB
JavaScript
Raw Normal View History

2018-06-07 14:59:05 +08:00
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the pig4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
2018-03-04 13:49:35 +08:00
'use strict'
2017-12-14 09:24:24 +08:00
require('./check-versions')()
process.env.NODE_ENV = 'production'
2018-03-04 13:49:35 +08:00
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')
2017-11-02 14:41:37 +08:00
2018-03-04 13:49:35 +08:00
const spinner = ora('building for production...')
2017-11-02 14:41:37 +08:00
spinner.start()
rm(path.join(config.build.assetsRoot, config.build.assetsSubDirectory), err => {
2017-12-14 09:24:24 +08:00
if (err) throw err
2018-03-04 13:49:35 +08:00
webpack(webpackConfig, (err, stats) => {
2017-12-14 09:24:24 +08:00
spinner.stop()
2017-11-02 14:41:37 +08:00
if (err) throw err
2017-12-14 09:24:24 +08:00
process.stdout.write(stats.toString({
colors: true,
modules: false,
2018-03-04 13:49:35 +08:00
children: false, // if you are using ts-loader, setting this to true will make typescript errors show up during build
2017-12-14 09:24:24 +08:00
chunks: false,
chunkModules: false
}) + '\n\n')
2017-11-02 14:41:37 +08:00
2018-03-04 13:49:35 +08:00
if (stats.hasErrors()) {
console.log(chalk.red(' Build failed with errors.\n'))
process.exit(1)
}
2017-12-14 09:24:24 +08:00
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'
))
})
2018-06-07 14:59:05 +08:00
})