element原始碼解析 打包構建

2021-09-10 17:45:58 字數 2952 閱讀 7306

本篇文章主要對 element 框架的 build 目錄 及 package.json 中的 scripts 指令碼,也就是element專案的指令碼構建打包進行解析。

廢話不多說,先來張圖:

對於node專案,除了對整體結構的瀏覽,第一步要做的事,就是檢視專案的核心檔案,package.json。由於本篇主講scripts,需要了解其他欄位的,可在官方文件檢視

package.json 官方資料

從上圖可以看出,scripts 下很多內容,我們需要關心的主要有兩個,乙個dist(專案構建,生成打包檔案,類似vue-cli 的 npm run build),乙個dev(同 vue-cli 的 npm run dev )

"dist"

: "npm run clean &&

npm run build:file &&

npm run lint &&

webpack --config build/webpack.conf.js &&

webpack --config build/webpack.common.js &&

webpack --config build/webpack.component.js &&

npm run build:utils &&

npm run build:umd &&

npm run build:theme"

把需要執行的命令拆開來看:

npm run clean:執行指令碼中的 clean 命令,刪除之前打包的檔案

"clean"

:"rimraf lib && rimraf packages/*/lib && rimraf test/**/coverage"

npm run build:file:執行指令碼中的build:file命令,依次是生成 examples/icon.json;生成 src/index.js;生成 examples/pages下國際化相關vue檔案;生成 examples/versions.json;

"build:file"

: "node build/bin/iconinit.js &

//生成 examples/icon.json

node build/bin/build-entry.js &

//生成 src/index.js

node build/bin/i18n.js &

//生成 examples/pages下國際化相關vue檔案

node build/bin/version.js //生成 examples/versions.json

npm run lint:執行指令碼中的lint命令,eslint檢查

"lint"

: "eslint src/**/

* test/**/

* packages/**/

* build/**/

*--quiet

webpack --config build/webpack.conf.js:webpack打包,lib目錄下打包 index.js檔案 (瀏覽器使用的js包).

webpack --config build/webpack.common.js:webpack打包,lib目錄下生成element-ui.common.js 檔案(node下使用的檔案,對應 package.json 中的 main 字段)

webpack --config build/webpack.component.js:webpack打包,lib下生成元件的 js 檔案

npm run build:utils:執行 build:utils 命令 ,babel 打包src目錄下檔案至lib,忽略index.js

"build:utils"

: "cross-env babel_env

=utils babel src --out-dir lib --ignore src/index.js

"build:umd"

: "node build/bin/build-locale.js

npm run build:theme:執行 build:theme 命令 ,生成樣式

"build:theme"

: "node build/bin/gen-cssfile &&

gulp build --gulpfile packages/theme-chalk/gulpfile.js &&

cp-cli packages/theme-chalk/lib lib/theme-chalk

"dev"

: "npm run bootstrap &&

npm run build:file &&

cross-env node_env

=development webpack-dev-server --config build/webpack.demo.js &

node build/bin/template.js ",

還是拆開看:

安裝包;

生成index.js

webpack 啟動

tpl字尾模板檔案的處理

element原始碼解析–整體介紹

原始碼debian打包

1 最終打包要使用的命令 dpkg buildpackage keroot us uc這條指令讀取專案中的debian 目錄下的相關文件進行打包,2 要實現自動化打包,需要debian化源 cd project 1.0.0 dh make f project 1.0.0.tar.gz在當前專案生成乙...

Fabric 原始碼解析 原始碼目錄解析

這裡對重要的一些目錄進行說明 bccsp 與密碼學 加密 簽名 證書等等 相關的加密服務 將fabric中用到的密碼學相關的函式抽象成了一組介面,便於拓展。bddtests 一種新型的軟體開發模式 行為驅動開 需求 開發 common 一些公共庫 錯誤處理 日誌處理 賬本儲存 策略以及各種工具等等 ...

拜讀及分析Element原始碼 button元件篇

button元件相關的有兩個檔案 按鈕組時使用,相當於button的乙個父容器,內包含乙個匿名插槽,具體的處理在button.vue中 class el button group slot div template export default script 複製 class el button c...