vue源码学习(二)

一、结构梳理:
vue的源码在src目录下,基本结构如下:
在这里插入图片描述
二、源码构建(非纯vue,实际为vue+webpack,正好在用,就一起做代码梳理了):
vue的源码是基于rollup构建的(js模块打包器),构建配置在scripts目录下。
1、package.json:
npm执行脚本在script字段里配置。
eg:

"scripts": {
"dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
"start": "npm run dev",
"build": "node build/build.js"
}

可以看出是执行了node build/build.js
贴一下我的build.js文件,一条一条的梳理清楚写了注释(不是纯vue,有一部分webpack的配置,会稍微复杂一点点)

'use strict'//严格模式
require('./check-versions')()//版本验证工具

process.env.NODE_ENV = 'production'//node环境变量

const ora = require('ora')//loading效果
const rm = require('rimraf')//轻量级的为js适配的orm,对象映射
const path = require('path')//路径配置
const chalk = require('chalk')//颜色插件
const webpack = require('webpack')//引入webpack
const config = require('../config')//配置文件
const webpackConfig = require('./webpack.prod.conf')//webpack配置文件

const spinner = ora('building for production...')
spinner.start()//启用loading效果

// 删除已编译文件
// @assetsRoot:指向包含应用程序的所有静态资产的根目录,绝对路径
// @assetsSubDirectory:被webpack编译处理过的资源文件都会在这个目录下
rm(path.join(config.build.assetsRoot, config.build.assetsSubDirectory), err => {
if (err) throw err
//在删除完成的回调函数中开始编译
webpack(webpackConfig, (err, stats) => {
spinner.stop()
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值