低代碼--初始化項目

\bullet 創(chuàng)建項目

? ? vue create projectName 創(chuàng)建vue3項目

\bullet 項目結構劃分

? ? components? 物料堆(原子組件)

? ? parses 物料堆的邏輯層(展示在畫布)

? ? pages? 頁面(用戶信息頁面、登錄頁面、app配置頁面、app展示頁面等)

? ? routes? 頁面路由(與頁面一一對應)

? ? config? 配置面板(每一類組件對應的配置類)

? ? assets? 靜態(tài)資源(icon等)

? ? fragments? 基礎組件

? ? parse 原子組件的上層組件

? ? hoc 高階組件

? ? utils 輔助函數或對象

\bullet 基礎頁面搭建

? ??\ast 樣式

????????引入reset.css

? ? ? ? 引入less支持

? ??????????npm install -D less less-loader@7.x

? ??\ast 利用elementUI的柵格能力快速完成頁面布局,同時由于對頁面樣式無特殊化要求,可直接將其組件作為物料堆組件

? ??????安裝組件庫

????????????cnpm install element-plus --save??

? ? ? ? 注冊組件

? ??????????import ElementPlus from 'element-plus'

????????????import 'element-plus/dist/index.css'

? ??????????app.use(ElementPlus)

? ??\ast 定義一些別名

? ? ? ? ? ? 在根目錄下新增vue.config.js,并新增如下代碼

? ??\ast 創(chuàng)建頁面和路由

? ??????npm install vue-router@4 安裝路由??\star 使用cnpm無法安裝\star

? ? ? ? 創(chuàng)建并到處路由實例

? ? ? ? 掛載路由并在app.vue中注冊出口

? ??????\ast 使用柵格組件完成布局劃分,并將布局的各個部分拆分成組件,效果如下

\bullet 頂欄

? ? 頂欄一般由左側的logo和右側的功能區(qū)構成,功能區(qū)一般包括上線發(fā)布按鈕和個人信息入口,由于是預研項目,則只考慮logo和簡單的個人信息

\bullet 物料堆

? ? 物料堆說白了更像是一個組件庫,事實上,我也確實打算直接使用elementUI來充作物料堆。雖然我們的團隊不夠大,不會將物料堆單獨抽離出來,但是作為一個可獨立的ui項目,還是需要對外提供統一的入口的,常規(guī)的,我們可以在index.js文件內一個個導入并一個個export出去。但是這里其實可以更加智能化一些

? ? 可以借助webpack的require.contextapi動態(tài)引入并導出(parses同理)

\bullet 畫布

? ? 畫布最基礎的能力就是接收到拖拽的原子組件后渲染到畫布中去,理論上來說,只要不是后期出現bug,畫布是不會經常性的變動的,我們新增或刪除物料堆中的組件,是不能再去修改畫布中代碼的。故考慮做成類似動態(tài)組件來加載

\bullet 配置面板

? ? 所有的控制面板其實都是一個具有"屬性"和"樣式"的選項卡,屬性就是給組件的傳參,比如input組件可以傳遞placeholder、allowClear等,樣式則是一些css設置,比如寬、高、邊框等

? ? 這里我們使用slot做一個高階組件

?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容