拉取代碼 dev 分支
這篇文章從這個 932a3ca2db739dbf76a281c6548ac169b53fac98 git commit hash 來讀
首先看包管理器,使用的是 yarn
yarn install 安裝依賴
打開 pkg.json 文件
我喜歡看代碼是從測試開始看,看看是怎麼運行的
運行下測試 test
需要找一個有 ts 文件的地方,看是怎麼運行起來的
測試的目標文件在這個文件夾下 packages/uni-template-compiler
入口是這裡 lib/index.js
可以看到這個包裡引用了 vue-template-compiler 也就是 vue 用於編譯模板文件的
vue-cli-plugin-uni 是主入口
index.js
chain webpack 配置
vue-cli-plugin-uni/lib/chain-webpack.js
webpack 配置
vue-cli-plugin-uni/lib/configure-webpack.js
然後查看入口
這個文件
vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js
vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js
這個文件裡處理了 vue 的 main.js 文件內容
vue-cli-plugin-uni/packages/webpack-preprocess-loader/preprocess/lib/preprocess.js
這個文件更具體的編譯 preprocess 方法編譯
vue-cli-plugin-uni/lib/env.js 這個文件開始編譯的時候用到了
// 編譯 vue 模板文件
uni-template-compiler/lib/index.js
// 正在編譯中 vue-cli-plugin-uni\lib\env.js
runByHBuilderX && console.log(uniI18n.__('compiling'))