實時輸出前端原始碼,折騰大半年的開源專案sparrow-js
前言
sparrow-js第一次提交到git是在2019-12,轉眼將近一年時間,一直在堅持更新,唯一目標就是提升前端研發效率,幾年前在市場加速數字化的背景下開始關注前端研發效率這塊兒的東西,最開始在前公司內部開發了一個工程化方面的前端專案,大體做了兩方面工作1.前端工程搭建接入各種外掛、公司內部服務。2.按照原子設計理論搭建物料體系。在搭建這個專案時產生了很多新靈感,去年年底決定將想法開始付諸實踐所以就有了sparrow-js這個開源專案,這個專案更側重於解決業務開發部分的前端效率提升,直接輸出原始碼。
遠景
最初設想的有三大塊功能:
- 本地低程式碼搭建,常規開發模式還是在本地開發,所以實現了一個本地視覺化搭建工具,實時輸出原始碼。
- online低程式碼搭建,線上化的視覺化搭建更利於傳播,更方便。
- 資料採集,包括各種資料收集:如圖片、sketch設計稿類智慧生成程式碼等,swagger等介面管理工具資料生成介面程式碼。
目前本地低程式碼搭建已經完成一期的功能,可實現實時輸出可讀的Vue原始碼,下面會做介紹。下一步大方向除了本地低程式碼專案的迭代外將開始實現online版的sparrow-js,最後實現資料採集轉化為原始碼,最終達到秒級前端需求開發(部分場景下),達成前端提效目標。
介紹
sparrow-js 提供豐富的物料來幫助開發者提效,目前生成的原始碼是vue,element-ui的程式碼,提供函式級別程式碼搭建能力,可以注入邏輯程式碼。介面展示如下圖:
展示1
展示2
物料
提供多種型別的物料源,以此來滿足不同場景下的需求。
- 元件:vue element-ui基礎元件
- 容器:儲存基礎元件
- 編輯區塊:可增刪改可編輯的特定場景程式碼片段
- 靜態區塊:程式碼片段
- 搜尋元件:官方內建擁有特定邏輯元件
- 外掛:第三方自定義元件
使用示例如下:
示例1:
示例2:
更多功能感興趣可自行體驗。
基礎功能
- 實時預覽
- 拖拽
- 實時預覽原始碼
- 元件: 複製
- 元件: 刪除
- 元件: 配置
- 撤銷
- 儲存
- 匯出
- 重置
- 介面生成
- 開啟vscode展示程式碼
- 文字編輯
- 等等功能
生產程式碼示例
以下連結為使用sparrow-js生成的未經任何修改的原始碼;
快速使用
全域性安裝
# 全域性安裝
$ npm install -g sparrow-code
# 執行
$ sparrow
專案內安裝
# 專案內安裝
$ npm install sparrow-code -D
# package.json 增加 sparrow
"scripts": {
"sparrow": "sparrow start -m page"
}
# 專案內安裝GUI元件
$ npm install @sparrow-vue/develop-ui -S
# 專案內引用App.vue
<template>
<div id="app">
<router-view />
<sparrow />
</div>
</template>
<script>
import Sparrow from '@sparrow-vue/develop-ui'
export default {
components: {
Sparrow
},
name: 'App'
}
</script>
開源地址
git地址:https://github.com/sparrow-js/sparrow
總結
功能正在按既定規劃由想法一步步落地,使用體驗、文件也在逐步優化解決,目前完全由個人業餘時間開發,正在努力使sparrow-js讓更多人體驗使用,歡迎關注交流,任何合理理性的想法都可以討論探索並付諸實踐,創作不易,感謝支援!
相關文章
- 如何閱讀大型前端開源專案的原始碼前端原始碼
- tp5 前端程式碼原樣輸出 html原始碼輸出 原始碼被輸出前端HTML原始碼
- 走進開源專案 - urlcat 原始碼分析原始碼
- Android 開源專案PhotoView原始碼分析AndroidView原始碼
- Android 開源專案原始碼解析 -->PhotoView 原始碼解析(七)Android原始碼View
- 折騰一下WebSocket的ArrayBuffer傳輸方式Web
- github釋出開源專案程式碼教程Github
- Android 開源專案原始碼解析 -->Volley 原始碼解析(十五)Android原始碼
- Android 開源專案原始碼解析 -->Dagger 原始碼解析(十三)Android原始碼
- 開源專案Running Life 原始碼分析(一)原始碼
- 墨菲安全正式釋出 murphysec 開源專案!讓開發者更安全的使用開原始碼原始碼
- Node.js折騰記一:讀指定資料夾,輸出該資料夾的檔案樹Node.js
- 前端開源專案週報0328前端
- 前端開源專案週報0321前端
- 如何自動化部署專案?折騰伺服器之旅~伺服器
- Android 開源專案原始碼解析 -->CircularFloatingActionMenu 原始碼解析(八)Android原始碼
- 折騰不止!前端工程與效能最佳化前端
- renren開源專案釋出
- 如何閱讀大型前端開源專案的原始碼,授人以魚不如授人以漁前端原始碼
- 【京東開源專案】微前端框架MicroApp 1.0正式釋出前端框架APP
- 【折騰】發表文章的時候yaml檔案頭不會被解析YAML
- 前端開源專案週報0407前端
- 前端開源專案週報0418前端
- 前端開源專案週報0412前端
- 專案人力資源管理各過程的輸入輸出關係
- 專案時間管理各過程的輸入輸出關係
- 「實戰篇」開源專案docker化運維部署-原始碼介紹(二)Docker運維原始碼
- 打造 10000 Star 的前端開源專案 ⭐前端
- Linux折騰Linux
- 折騰日記
- waydroid折騰
- 如何研究開源專案的程式碼?
- 直播app原始碼,Java的輸入輸出APP原始碼Java
- GitHub實用開源專案Github
- 前端開源專案週報0307前端
- 前端開源專案週報0314前端
- 前端開源專案週報0214前端
- 前端開源專案週報0221前端