1. 程式人生 > >webpack解讀5(build。)

webpack解讀5(build。)

// 設定process.env.NODE_ENV
process.env.NODE_ENV = 'production'
//引入ora,可以實現loading效果
var ora = require('ora');
//引入webpack模組
var webpack = require('webpack');
//引入path模組
var path = require('path');
// 引入rimraf模組
// "rm -rf"命令
var rm = require('rimraf')
//引入pro環境
var webpackConfig = require('./webpack.prod.conf');
//引入公共配置
var config = require('../config/index');

//載入時顯示的文字
var spinner = ora('building for production...');

//載入動畫開始
spinner.start()

var assetsPath = path.join(config.build.assetsRoot,config.build.assetsSubDirectory);
// 清空靜態資源的二級目錄下所有內容
rm(assetsPath,err=>{
    if (err) throw err

    //啟動webpack編譯生產環境webpack配置
    webpack(webpackConfig,function (eror,stats) {
        //載入動畫結束
        spinner.stop();
        //// 如果出錯,丟擲錯誤
        if(eror) throw eror

        // process.stdout標準輸出流
        // rocess.stdout.write命令列視窗向用戶顯示內容
        // stats.toString(options)返回格式化結果
        process.stdout.write(stats.toString({
                colors: true,
                modules: false,
                children: false,
                chunks: false,
                chunkModules: false
            })+'\n')
    })

})