中後端管理系統前後分離、前端框架的實現拙見

来源:http://www.cnblogs.com/cqhaibin/archive/2017/07/01/7103043.html
-Advertisement-
Play Games

一、實現思路 在實踐中後臺管理系統的前後端分離時,往往會因為業務量的增加使其前端項目難以維護,以及打包時間不理想,還有業務系統與框架之間區分不在明顯。本文是本人從另一個角度提出的一種解決方案,希望各位提出寶貴的建議。 二、創建步驟 2.1、github上新建組織 此部分的操作可以參考github的相 ...


一、實現思路

在實踐中後臺管理系統的前後端分離時,往往會因為業務量的增加使其前端項目難以維護,以及打包時間不理想,還有業務系統與框架之間區分不在明顯。本文是本人從另一個角度提出的一種解決方案,希望各位提出寶貴的建議。

  1. 一個通用的框架項目
    此項目為框架項目,只負責提供基礎方法,以及第三方依賴包的管理(因為一套系統第三方依賴包的版本應該統一的)、提供業務子系統的註冊、佈局的管理、導航管理等功能。
  2. 框架項目的cli,用於快速搭建業務子系統的開發平臺
    首先以框架項目的生產版本為基礎,製作一個模板項目;然後再創建一個cli項目,業務系統開發者安裝cli項目,通過cli快速部署、更新框架內容。
  3. 一個全平臺的css預處理解決方案
    此項目主要包含佈局、各常用模塊內容(如:登錄、彈窗、文字處理等),現版本在業務系統中不允許修改css,只能引用css內容。
    註意:本基礎框架是基於vue + iview + requirejs實現的

二、創建步驟

2.1、github上新建組織

此部分的操作可以參考github的相關操作手冊完成。

2.2、基礎框架與模板庫

由於模板庫是基於基礎框架的,放在一起能更為有效的說明:

說明:

  1. .babelrc與.gitignore文件是沒有做任務改變的複製
  2. gulpfile.js和package.json去掉了對sass編譯部分的支持和方法
  3. 模板的skin文件夾是框架項目的skin和assets文件的合併,assets存放的sass內容,而skin存放的是第三方依賴的css內容。
  4. core文件夾由dest文件夾和app文件夾部分內容一起組成,dest存放的是通過rollup編譯後的app.js和layout.js(框架系統),app存放的是index.html(入口html)、requirejs的main.js文件(js的入口和配置)
  5. lib和build是直接複製的 lib是第三方依賴庫(此處是為了做到依賴庫的統一管理),build中是存放的rollup編譯配置文件,但有些許改動。

重點說明

  1. 框架項目中的examples文件夾,他是用於存放靜態頁面。我們在佈局模塊時應該先在此按鈕設計圖進行靜態頁面的實現。然後才是轉換到正式項目,因為每個模塊的樣式都有被重用機會。
  2. 框架項目中的dest文件夾中app.js和layout.js的源碼在src/master文件夾中。

2.3、製作cli代碼庫

此項目的目的其為簡單,就是提供init和update方法,用於從模板項目生成業務子系統,併在模板項目更新後,提供更新命令將新的內容更新到業務子系統。

依賴的npm包:

chalk: 命令視窗文字有顏色的輸出
commander:解析命令的輸入
download-github-repo:下載github上面的模板項目
fs-extra:file和folder的處理,如刪除
metalsmith:生成靜態站點,選擇他,是由於他的插件模式,用於後期對文件內容進行加工和處理

註意

  1. 發佈的bin命令如何可用
    首先,需要在命令入口文件最上面添加如下代碼(第一行):
#!/usr/bin/env node

然後,在package.json中的bin中添加命令與執行文件的關聯

"bin": {
    "vn-init": "srcCli/bin/init.js"
  },

按照上述配置,npm全局安裝成後,運行vn-init命令即可觸發相關命令文件的代碼。

三、項目地址

vueManager(框架項目)https://github.com/cqhaibin/vueManager.git
vueManager-cli(腳手架項目)https://github.com/cqhaibin/vueManager-cli.git
simple(模板項目)https://github.com/vueManager-template/simple.git
腳手架npm地址https://www.npmjs.com/package/vuemanager-cli

歡迎下載測試和提出建議!!!


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • JS基礎 頁面由三部分組成: + html:超文本標記語言,負責頁面結構 + css:層疊樣式表,負責頁面樣式 + js:輕量級的腳本語言,負責頁面的動效和數據交互 小總結:結構,樣式和行為,三者相分離 + 在html頁面中寫結構 + 通過 link標簽的href屬性,引入css樣式 + 通過scr ...
  • 一、HTML是什麼 Hyper Text Markup Language的縮寫,是一種超文本標記語言。 不是編程語言。而是一套標記語言,由標記符號組成。 二、HTML文檔即網頁 HTML文檔即網頁 HTML文檔包含HTML標簽和純文本 ...
  • [1]文本色 [2]背景色 [3]文本對齊 [4]大小寫 [5]按鈕和符號 [6]浮動 [7]隱藏 ...
  • 寫前端的相信都遇到過要提高網頁的性能,其中javascript文件越小,瀏覽器的下載速度面對文件的讀取和解析就更快。而一般我們在開發又需要一定的代碼規範來使我們的代碼更加的容易維護和讀懂,但是大量空格和換行又會加大文件的大小,所以在發佈時進行縮編或者混淆可以減小javascript的大小,提高效率。 ...
  • 首先介紹一下概念 devicePixelRatio其實指的是window.devicePixelRatio window.devicePixelRatio是設備上物理像素和設備獨立像素(device-independent pixels (dips))的比例。 公式表示就是:window.devic ...
  • 起因:最近在學習做網頁,需要不停地調試js ,然後呢就遇到一個問題:修改了外部引入的js文件,但是刷新頁面卻看不到效果,原因是因為瀏覽器緩存了js文件,瀏覽器優先讀取的是緩存的js 文件,而不是從每次都從服務端獲取 解決辦法:禁止js緩存 ...
  • [1]實現原理 [2]媒體查詢 [3]基本用法 [4]列偏移 [5]列排序 [6]列嵌套 [7]複雜應用 [8]顯示隱藏 ...
  • 塊級元素和行內元素的三個區別 1.行內元素與塊級元素直觀上的區別: 行內元素會在一條直線上排列,都是同一行,水平方向排列 塊級元素獨占一行,垂直方向排列.塊級元素從新行開始結束接著一個斷行 2.塊級元素可以包含行內元素和塊級元素, 行內元素不能包含塊級元素 3.行內元素和塊級元素屬性的不同,主要是盒 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...