build 文件夹中的 build.js

 

 1 // bulid.js是webpack的打包文件,通过配置package.json中的script来执行脚本。命令号npm run build即运行node build/build.js
 2 'use strict'
 3 require('./check-versions')() // 检查node+npm的版本,引用./check-versions.js文件
 4 
 5 
 6 //process.env是一个包含用户环境信息的对象 NODE_ENV是用户自定义的变量,用来判断是开发环境还是生产环境
 7 process.env.NODE_ENV = 'production'
 8 
 9 const ora = require('ora') //ora:https://www.npmjs.com/package/ora  ora包用于显示加载中的效果,类似于前端页面的loading效果
10 const rm = require('rimraf') //rimraf模块 以包的形式包装rm -rf命令,用来删除文件和文件夹的,不管文件是否为空
11 const path = require('path') //导入node的path模块
12 const chalk = require('chalk') //地址:https://www.npmjs.com/package/chalk 导入chalk模块 用来改变文字颜色
13 const webpack = require('webpack') //引入webpack模块
14 const config = require('../config')
15 const webpackConfig = require('./webpack.prod.conf')
16 
17 const spinner = ora('building for production...') // 实现loading的模块
18 spinner.start() //开始动画
19 
20 //rm方法删除static文件夹
21 //path.join是将路径片段以'\'连接成新的路径,任何一个路径片段有错误就会报错
22 rm(path.join(config.build.assetsRoot, config.build.assetsSubDirectory), err => {
23   if (err) throw err
24 
25   //构建webpackc
26   webpack(webpackConfig, (err, stats) => {
27     spinner.stop() //停止动画
28     if (err) throw err
29 
30     //process.stdout.write是标准输出,相当于console.log
31     process.stdout.write(stats.toString({
32       colors: true, //增加控制卡颜色开关,即显示不同颜色的字体
33       modules: false, //是否增加内置模块信息
34       children: false, //如果您使用的是 ts-loader,将其设置为true将使TypeScript错误在构建过程中出现.
35       chunks: false, //允许较少的输出
36       chunkModules: false //不将内置模块的信息加到包信息
37     }) + '\n\n')
38 
39     if (stats.hasErrors()) {
40       console.log(chalk.red('  Build failed with errors.\n'))
41 
42       //执行失败
43       process.exit(1)
44     }
45 
46     // 编译退出
47     console.log(chalk.cyan('  Build complete.\n'))
48     console.log(chalk.yellow(
49       '  Tip: built files are meant to be served over an HTTP server.\n' +
50       '  Opening index.html over file:// won\'t work.\n'
51     ))
52   })
53 })

 

posted @ 2020-12-02 16:31  思猿客  阅读(1263)  评论(0编辑  收藏  举报