系列文章传送门:

1、build/webpack.base.conf.js

2、build/webpack.prod.conf.js

3、build/webpack.dev.conf.js

4、build/utils.js

5、build/vue-loader.conf.js

6、build/build.js

7、build/dev-server.js

8、build/check-versions.js

9、../config/index.js

下面是build/vue-loader.conf.js中相关代码和配置的说明

项目地址:https://github.com/SmileSmith(感觉不错的话帮忙打个星哈 ~)

  1. /*
  2. * npm run build 构建执行文件,主要用于生产环境
  3. * 建议先查阅webapck.prod.conf.js
  4. */
  5.  
  6. // npm和node版本检查
  7. require('./check-versions')()
  8.  
  9. // 设置环境变量为production
  10. // process.env 是node环境内置的变量,在命令行里可以通过 set 变量名=值的方式来设置,等价于 set NODE_ENV='production'
  11. process.env.NODE_ENV = 'production'
  12.  
  13. var ora = require('ora') // ora是一个命令行转圈圈动画插件,好看用的
  14. var rm = require('rimraf') // rimraf插件是用来执行UNIX命令rm和-rf的用来删除文件夹和文件,清空旧的文件
  15. var path = require('path')
  16. var chalk = require('chalk') // chalk插件,用来在命令行中输出不同颜色的文字
  17. var webpack = require('webpack')
  18. var config = require('../config') // 项目配置文件
  19. var webpackConfig = require('./webpack.prod.conf') // 生产环境的Webpack配置文件
  20.  
  21. var spinner = ora('building for production...') // 开启转圈圈动画
  22. spinner.start()
  23.  
  24. // 调用rm方法,第一个参数和第二个参数分别是 ../dist 和 static,表示删除路径下面的所有文件
  25. rm(path.join(config.build.assetsRoot, config.build.assetsSubDirectory), err => {
  26. if (err) throw err // 如果删除的过程中出现错误,就抛出这个错误,同时程序终止
  27. // 调用webPack执行构建
  28. webpack(webpackConfig, function (err, stats) {
  29. spinner.stop()
  30. if (err) throw err
  31. process.stdout.write(stats.toString({ // stats对象中保存着编译过程中的各种消息
  32. colors: true, // 增加控制台颜色开关
  33. modules: false, // 不增加内置模块信息
  34. children: false, // 不增加子级信息
  35. chunks: false, // 允许较少的输出
  36. chunkModules: false // 不将内置模块的信息加到包信息
  37. }) + '\n\n')
  38.  
  39. console.log(chalk.cyan(' Build complete.\n'))
  40. console.log(chalk.yellow(
  41. ' Tip: built files are meant to be served over an HTTP server.\n' +
  42. ' Opening index.html over file:// won\'t work.\n'
  43. ))
  44. })
  45. })

参考:http://www.cnblogs.com/ye-hcj/archive/2017/06.html

vue-cli脚手架npm相关文件解读(6)build.js的更多相关文章

  1. vue-cli脚手架npm相关文件解读(1)webpack.base.conf.js

    系列文章传送门: 1.build/webpack.base.conf.js 2.build/webpack.prod.conf.js 3.build/webpack.dev.conf.js 4.bui ...

  2. vue-cli脚手架npm相关文件解读(4)utils.js

    系列文章传送门: 1.build/webpack.base.conf.js 2.build/webpack.prod.conf.js 3.build/webpack.dev.conf.js 4.bui ...

  3. vue-cli脚手架npm相关文件解读(9)config/index.js

    系列文章传送门: 1.build/webpack.base.conf.js 2.build/webpack.prod.conf.js 3.build/webpack.dev.conf.js 4.bui ...

  4. vue-cli脚手架npm相关文件解读(8)check-versions.js

    系列文章传送门: 1.build/webpack.base.conf.js 2.build/webpack.prod.conf.js 3.build/webpack.dev.conf.js 4.bui ...

  5. vue-cli脚手架npm相关文件解读(7)dev-server.js

    系列文章传送门: 1.build/webpack.base.conf.js 2.build/webpack.prod.conf.js 3.build/webpack.dev.conf.js 4.bui ...

  6. vue-cli脚手架npm相关文件解读(5)vue-loader.conf.js

    系列文章传送门: 1.build/webpack.base.conf.js 2.build/webpack.prod.conf.js 3.build/webpack.dev.conf.js 4.bui ...

  7. vue-cli脚手架npm相关文件解读(3)webpack.dev.conf.js

    系列文章传送门: 1.build/webpack.base.conf.js 2.build/webpack.prod.conf.js 3.build/webpack.dev.conf.js 4.bui ...

  8. vue-cli脚手架npm相关文件解读(2)webpack.prod.conf.js

    系列文章传送门: 1.build/webpack.base.conf.js 2.build/webpack.prod.conf.js 3.build/webpack.dev.conf.js 4.bui ...

  9. 13. Vue CLI脚手架

    一. Vue CLI 介绍 1. 什么是Vue CLI? Vue CLI 是一个基于 Vue.js 进行快速开发的完整系统.Vue CLI 致力于将 Vue 生态中的工具基础标准化.它确保了各种构建工 ...

随机推荐

  1. c#通用配置文件读写类(xml,ini,json)

    .NET下编写程序的时候经常会使用到配置文件.配置文件格式通常有xml.ini.json等几种,操作不同类型配置文件需要使用不同的方法,操作较为麻烦.特别是针对同时应用不同格式配置文件的时候,很容易引 ...

  2. 1010: [HNOI2008]玩具装箱toy [dp][斜率优化]

    Description P教授要去看奥运,但是他舍不下他的玩具,于是他决定把所有的玩具运到北京.他使用自己的压缩器进行压缩,其可以将任意物品变成一堆,再放到一种特殊的一维容器中.P教授有编号为1... ...

  3. ARM开发(2)基于STM32的蜂鸣器

    基于STM32的蜂鸣器 一 蜂鸣器原理:  1.1 本实验实现1个蜂鸣器间隔1S鸣叫.  1.2 实验思路:根据电路图原理,给蜂鸣器相关引脚赋予高低电平,实现电路的导通,使蜂鸣器实现鸣叫或不鸣.  1 ...

  4. Selenium对浏览器支持的版本

    最新的selenium与几种常用浏览器的版本兼容情况: selenium 3.4.0 : Mozilla GeckoDriver 0.18  --  Firefox 53 - 56 Google Ch ...

  5. 计算机网络之应用层_part -1

    应用层协议原理 一.网络应用程序体系结构 网络应用程序体系结构是由程序研发者设计的,规定了如何在各种端系统中组织该应用程序,主要流行的有两种: 1.客户--服务器体系结构: 有一个总是打开的主机(称为 ...

  6. [javascript] visible - 待写

    摘要 jquery 有个筛选器 visible , 一般用于选择 可见元素 $('p:visible') 就是选择可见的 p 元素. 但发现有时候不可用.!!

  7. 【php】php 连接数据库

    $mysql_server_name=""; //数据库服务器名称 $mysql_username=""; // 连接数据库用户名 $mysql_passwor ...

  8. MySQL优化 - 所需了解的基础知识

    时隔一年半,期间一直想写但却觉得没有实质性的内容可记录,本文为 [高性能MySQL] 的学习日志整理分享(感兴趣建议读原书). 优化应贯穿整个产品开发周期中,开发过程中考虑一些性能问题与影响,总比出问 ...

  9. 创建Git版本库

    什么是版本库呢?版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改.删除,Git都能跟踪,以便任何时刻都可以追踪历史,或 ...

  10. 再起航,我的学习笔记之JavaScript设计模式06(工厂方法模式)

    上一次已经给大家介绍了简单工厂模式,相信大家对创建型设计模式有了初步的了解,本次我将给大家介绍的是工厂方法模式. 工厂方法模式 工厂方法模式(Factory Method):通过对产品类的抽象使其创建 ...