UNPKG

dio-cli

Version:

CLI for scaffolding dio-cli projects , 前端项目, 构建工具

70 lines (57 loc) 1.88 kB
const ora = require('ora') const rm = require('rimraf') const fs = require('fs-extra') const path = require('path') const chalk = require('chalk') const webpack = require('webpack') const merge = require('webpack-merge') const { log } = require('../lib/log') const config = require('./config') .build require('./lib/check-versions')() process.env.NODE_ENV = 'production' const { resolveCwd } = require('./lib/utils') const { isPlainObject } = require('./lib/utils') const tofurc = require('../lib/get-config')() let webpackConfig = require('./webpack.prod') // 支持 webpackConfig 在 .diofurc.js 里进行配置 if (tofurc && tofurc.webpack && isPlainObject(tofurc.webpack)) { webpackConfig = merge(webpackConfig, tofurc.webpack) } module.exports = (compress, deleteDist) => { const spinner = ora('Dio-cli构建打包中....wait a minute') spinner.start() rm(path.join(config.assetsRoot), err => { if (err) throw err 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') log('打包成功。', 'cyan') //---- /** * 这里主要是用于修复 .CSS图片引入错误 暂时先这样解决 */ // 创建目录 fs.ensureDirSync(resolveCwd('./dist/static/css/static/img'), (err) => { if (err) return console.error(err) }) // 移动图片位置 fs.copy(resolveCwd('./dist/static/img'), resolveCwd('./dist/static/css/static/img'), (err) => { if (err) return console.error(err) log('正在压缩ZIP', 'cyan') // 压缩 dist 文件夹,并移动到桌面 if (compress) { require('./lib/compress.js')(deleteDist) } }) //----- }) }) }