一,前言
2021 年 6 月 1 日,特意去看了一下,上次写博客的时间 2019 年 10 月 10 日,距今 1 年半+
如果时间允许,真想写篇文章回顾这一年多发生的事情,不过,那应该是在完成【6 月日更】以后
说道这里,其实我就是来薅个羊毛~
以目前的时间和写作水平来看,其实很难写出对大家有价值的东西,这也是一年多没写东西的原因之一
所以,请大家见谅,我的目标就是顺利水出 21 篇文章,做个成就
内容大多会集中在《vue2.x 源码学习笔记》,没啥技术难度,都是学来的,尽所能帮大家梳理一下
开水~
二,使用 Rollup 构建 Vue2 环境
目前前端主流构建工具有:巴拉巴拉,废话略过。。。Vue2 用 rollup
1,工程初始化
{ "name": "source-learning-vue", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "keywords": [], "author": "", "license": "ISC"}
复制代码
2,安装 Rollup 打包依赖
// 安装 rollup 打包用npm install rollup// 低级语法转高级语法(使用 babel 需安装@babel/core核心模块)npm install @babel/core// rollup 与 babel关联npm install rollup-plugin-babel// 将 ES6 转译为 ES5npm install @babel/preset-env
// 合并(开发环境依赖)npm install rollup @babel/core rollup-plugin-babel @babel/preset-env -D
复制代码
3,编写 Vue.js 入口文件
打包入口 src/index.js
function Vue(){
}
export default Vue;
复制代码
4,编写 Rollup 配置文件
默认 rollup 配置文件名:rollup.config.js
import babel from 'rollup-plugin-babel'import resolve from 'rollup-plugin-node-resolve';
// 导出 rollup 配置对象export default { input:'./src/index.js', // 打包入口 output:{// 可定义为数组,输出多种类型 file:'dist/vue.js', // 打包出口 format:'umd',// 常用格式:IIFE(立即执行函数)、ESM(ES6模块)、CJS(Node规范)、UMD(AMD+CJS) name:'Vue', // 导出模块Vue,并绑定到window上 sourcemap:true, // 开启sourcemap }, plugins:[ resolve(), babel({ exclude:'node_modules/**' // 忽略node_modules下所有文件 }) ]}
复制代码
5,创建 rollup-script 构建脚本
{ "name": "source-learning-vue", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "dev": "rollup -c -w" //-c 使用配置文件;-w 监听文件变化 }, "keywords": [], "author": "", "license": "ISC", "devDependencies": { "@babel/core": "^7.14.2", "@babel/preset-env": "^7.14.2", "rollup": "^2.47.0", "rollup-plugin-babel": "^4.4.0" }}
复制代码
6,执行构建脚本
7,查看打包后文件
(function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : typeof define === 'function' && define.amd ? define(factory) : (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Vue = factory());}(this, (function () { 'use strict';
function Vue() {}
return Vue;
})));
//# sourceMappingURL=vue.js.map
复制代码
8,创建 Html 使用 Vue.js
dist 目录中创建页面入口:index.html
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title></head><body> <script src="vue.js"></script> <script> console.log(Vue) </script></body></html>
复制代码
查看控制台输出,打印 Vue 函数,开发环境构建成功
三,结束
已成功水出了第一步,有时间再补代码地址,
这篇主要使用 rollup 搭建了 Vue 源码的构建环境,
下一篇:Vue 的初始化
编辑器用着挺别扭:
新建文章时,代码片段冗余很多,一级二级标题需划上去才能看到
编辑文章时,上边两个情况就好了,不知道是不是浏览器兼容问题
使用--- 加回车 markdown 语法,并不能出现分割线
代码片段使用``` ```markdown 语法,会出现代码区域,但不会替换掉``` ```
代码片段配置 shell,发布后 shell 的高亮就没了
图片是只能居中显示吗?回头研究一下怎么居左
代码片段有没有自动换行的开关,还没注意到
评论