概述
看了几天 Vue 文档了,今天应该实践一下了,做一个个人书签页面,记录自己的常用书签。
创建工程
|
|
启动预览
|
|
值得注意的是 npm run dev
实际上执行的是 package.json
中的 script 脚本的如下命令:
|
|
也许你已经猜到了, 这个 webpack.dev.conf.js
文件是配置开发过程中的webpack构建文件。
接下来我们就开始修改 HelloWorld.vue 来实现书签页。
看了几天 Vue 文档了,今天应该实践一下了,做一个个人书签页面,记录自己的常用书签。
创建工程
|
|
启动预览
|
|
值得注意的是 npm run dev
实际上执行的是 package.json
中的 script 脚本的如下命令:
|
|
也许你已经猜到了, 这个 webpack.dev.conf.js
文件是配置开发过程中的webpack构建文件。
接下来我们就开始修改 HelloWorld.vue 来实现书签页。
特别说明:本文是转载文章,但是可能会在原文基础上新增注释和修改或附加自己的理解。
本文转载自:https://ustbhuangyi.github.io/vue-analysis/
Vue.js 的源码都在 src 目录下,其目录结构如下。
|
|
compiler 目录包含 Vue.js 所有编译相关的代码。它包括把模板解析成 ast 语法树,ast 语法树优化,代码生成等功能。
编译的工作可以在构建时做(借助 webpack、vue-loader 等辅助插件);也可以在运行时做,使用包含构建功能的 Vue.js。显然,编译是一项耗性能的工作,所以更推荐前者——离线编译。
core 目录包含了 Vue.js 的核心代码,包括内置组件、全局 API 封装,Vue 实例化、观察者、虚拟 DOM、工具函数等等。
这里的代码可谓是 Vue.js 的灵魂,也是我们之后需要重点分析的地方。
特别说明:本问是转载文章,但是可能会在原文基础上新增注释和修改或附加自己的理解。
本文转载自:https://ustbhuangyi.github.io/vue-analysis/
Flow 是 facebook 出品的 JavaScript 静态类型检查工具。Vue.js 的源码利用了 Flow 做了静态类型检查,所以了解 Flow 有助于我们阅读源码。
JavaScript 是动态类型语言,它的灵活性有目共睹,但是过于灵活的副作用是很容易就写出非常隐蔽的隐患代码,在编译期甚至看上去都不会报错,但在运行阶段就可能出现各种奇怪的 bug。类型检查是当前动态类型语言的发展趋势,所谓类型检查,就是在编译期尽早发现(由类型错误引起的)bug,又不影响代码运行(不需要运行时动态检查类型),使编写 JavaScript 具有和编写 Java 等强类型语言相近的体验。项目越复杂就越需要通过工具的手段来保证项目的维护性和增强代码的可读性。 Vue.js 在做 2.0 重构的时候,在 ES2015 的基础上,除了 ESLint 保证代码风格之外,也引入了 Flow 做静态类型检查。之所以选择 Flow,主要是因为 Babel
和 ESLint
都有对应的 Flow 插件以支持语法,可以完全沿用现有的构建配置,非常小成本的改动就可以拥有静态类型检查的能力。