1. 程式人生 > >vue源碼解讀-目錄結構

vue源碼解讀-目錄結構

全局 creat 編輯器 eat edit pil 支持 編碼風格 平臺

目錄結構

├── scripts ------------------------------- 構建相關的文件,一般情況下我們不需要動
│ ├── git-hooks ------------------------- git鉤子
│ ├── alias.js -------------------------- 別名配置
│ ├── config.js ------------------------- rollup配置的文件
│ ├── build.js -------------------------- 構建 config.js 中所有的rollup配置
│ ├── ci.sh ----------------------------- 持續集成運行的腳本
│ ├── release.sh ------------------------ 自動發布新版本的腳本
├── dist ---------------------------------- 構建後文件的輸出目錄
├── examples ------------------------------ Vue開發的應用案例
├── flow ---------------------------------- 類型聲明,使用開源項目 Flow
├── packages ------------------------------ 獨立發布的包的目錄
├── test ---------------------------------- 所有測試文件
├── src ----------------------------------- 源碼
│ ├── compiler -------------------------- 編譯器代碼的存放目錄,將 template 編譯為 render 函數
│ ├── core ------------------------------ 存放通用的,與平臺無關的代碼
│ │ ├── observer ---------------------- 響應系統,包含數據觀測的核心代碼
│ │ ├── vdom -------------------------- 虛擬DOM創建(creation)和打補丁(patching)的代碼
│ │ ├── instance ---------------------- Vue構造函數設計相關的代碼
│ │ ├── global-api -------------------- 給Vue構造函數掛載全局方法(靜態方法)或屬性的代碼
│ │ ├── components -------------------- 抽象出來的通用組件
│ ├── server ---------------------------- 服務端渲染(server-side rendering)的相關代碼
│ ├── platforms ------------------------- 平臺特有的相關代碼,不同平臺的不同構建的入口文件也在這裏
│ │ ├── web --------------------------- web平臺
│ │ │ ├── entry-runtime.js ---------- 運行時構建的入口,不包含模板(template)到render函數的編譯器,所以不支持 template

選項,我們使用vue默認導出的就是這個運行時的版本。
│ │ │ ├── entry-runtime-with-compiler.js -- 獨立構建版本的入口,它在 entry-runtime 的基礎上添加了模板(template)到render函數的編譯器
│ │ │ ├── entry-compiler.js --------- vue-template-compiler 包的入口文件
│ │ │ ├── entry-server-renderer.js -- vue-server-renderer 包的入口文件
│ │ │ ├── entry-server-basic-renderer.js -- 輸出 packages/vue-server-renderer/basic.js 文件
│ │ ├── weex -------------------------- 混合應用
│ ├── sfc ------------------------------- 單文件組件(.vue文件)的解析邏輯,用於vue-template-compiler包
│ ├── shared ---------------------------- 整個代碼庫通用的代碼
├── package.json -------------------------- 不解釋
├── yarn.lock ----------------------------- yarn 鎖定文件
├── .editorconfig ------------------------- 針對編輯器的編碼風格配置文件
├── .flowconfig --------------------------- flow 的配置文件
├── .babelrc ------------------------------ babel 配置文件
├── .eslintrc ----------------------------- eslint 配置文件
├── .eslintignore ------------------------- eslint 忽略配置
├── .gitignore ---------------------------- git 忽略配置

原文地址:https://segmentfault.com/a/1190000017230582

vue源碼解讀-目錄結構