国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

關(guān)于個人開源項目(vue app)的一些總結(jié)

高勝山 / 1104人閱讀

摘要:關(guān)于個人開源項目的一些總結(jié)項目地址項目簡介此項目名叫。網(wǎng)站目前實現(xiàn)了登錄注冊日歷導(dǎo)入文件考勤導(dǎo)出缺勤名單等核心功能。這對于小型項目來說并沒有什么問題。編譯后的大小關(guān)于文件上傳與導(dǎo)出功能文件上傳導(dǎo)出可以說是此項目最關(guān)鍵的點了。

關(guān)于個人開源項目(vue app)的一些總結(jié) 項目地址

https://github.com/BYChoo/record

項目簡介

此項目名叫:Record。是以Vue全家桶(vue,vue-router,vuex) + axios + express + mongodb技術(shù)棧開發(fā)的一個校園考勤網(wǎng)站,專門為老師定制的。網(wǎng)站目前實現(xiàn)了登錄注冊、日歷、導(dǎo)入文件(csv)、考勤、導(dǎo)出缺勤名單等核心功能。

關(guān)于項目結(jié)構(gòu)

剛開始著手做此項目的時候,考慮到項目本身并不復(fù)雜,以視圖層來說撐死了也就六七個視圖層,我就把所有視圖層組件都放在components文件夾中,再在components文件夾中新建一個common文件夾來放置復(fù)用的組件。這對于小型項目來說并沒有什么問題(like this)。但是考慮到此站往后可能會部署上線,為了方便維護,我還是花了些時間對整個項目結(jié)構(gòu)進行了重整:

組件:新建一個views文件夾放置視圖層的組件,如果每個視圖層需要用到的子組件多的話,還可以以此視圖層為核心建一個文件夾,在此文件夾中再建一個childrens文件夾放置子組件

復(fù)用組件:項目中凡是復(fù)用到的子組件統(tǒng)一放在components中

http請求:新建一個APIs文件夾,以視圖層面為出發(fā)點創(chuàng)建每個視圖層需要用到的.js文件

全局方法:新建一個utils文件夾,放置方法.js文件
靜態(tài)資源:關(guān)于靜態(tài)資源,基于vue-cil構(gòu)建的項目中有兩個可以放置靜態(tài)資源的文件夾:static和src文件夾下的assets,放置在static文件夾中的靜態(tài)資源是不會被webpack打包的,而src文件夾下的靜態(tài)資源則會,該放哪還是酌情考慮吧

關(guān)于http請求

不知道大家有沒有這樣子寫過http請求

// 這條http請求是請求xxx
this.$http.get("/api/demo")
  .then((res) => {
    // do something  
  })
  .catch((err) => {
    // throw err
  })

這樣寫請求是沒問題的,但如果這條http請求是需要多次被使用到呢?每次都要寫這樣一長串的代碼未免有點不優(yōu)雅了。針對這個問題,我決定采用把請求抽離出來,以每個視圖層為每個.js文件,把每個http請求封裝成函數(shù)然后導(dǎo)出,like this:

/**
 * index.js
 */

const getCaledarDay = function(params) {
  return new fetch({      // fetch是http請求實例
    url: "/api/get_caledarDay",
    method: "get",
    params
  })
}

export { getCaledarDay }; // 把函數(shù)導(dǎo)出

/**
 * index.vue
 */

...
import { getCaledarDay } from "api/index.js"; // 引入函數(shù)
...

這樣子寫的話就能有效的規(guī)避了http請求復(fù)用的問題了

關(guān)于狀態(tài)管理

關(guān)于數(shù)據(jù)狀態(tài)管理一直是我開發(fā)Vue項目是都要考慮的問題,一般考慮是否要用vux的狀態(tài)管理(vuex)都離不開這個考慮點:跨組件之間數(shù)據(jù)共享問題。如果跨組件之間需要共享到的數(shù)據(jù)多且龐大,那么直接vuex一把梭就好了,不要再考慮了。但如果跨組件之間共享數(shù)據(jù)不多(酌情考慮多的概念),那么可以通過父子組件間和非父子組件的prop、$emit、$on等事件來傳值也是可以的。

vuex編譯后的大小25kb

關(guān)于csv文件上傳與導(dǎo)出功能

csv文件上傳導(dǎo)出可以說是此項目最關(guān)鍵的點了。在開發(fā)過程csv文件上傳過程中,我發(fā)現(xiàn)了幾個可以解析csv文件的包:

node-csv

line-reader

fs

其中我采用了node-csv這個類庫來開發(fā),畢竟是node中專門來用解析csv文件的包。此外,我還用了formidable包來模擬解析前端上傳的form表單,如果不這樣做的話,前端post得csv文件會接受不到。有了formidablenode-csv開發(fā)起來就很美滋滋了。

導(dǎo)出csv文件部分,我采用了file-saver包來模擬csv文件的導(dǎo)出下載,怎么使用可以去github上翻閱,那里都寫的很詳細了。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/112636.html

相關(guān)文章

  • 關(guān)于個人開源項目(vue app)一些總結(jié)

    摘要:關(guān)于個人開源項目的一些總結(jié)項目地址項目簡介此項目名叫。網(wǎng)站目前實現(xiàn)了登錄注冊日歷導(dǎo)入文件考勤導(dǎo)出缺勤名單等核心功能。這對于小型項目來說并沒有什么問題。編譯后的大小關(guān)于文件上傳與導(dǎo)出功能文件上傳導(dǎo)出可以說是此項目最關(guān)鍵的點了。 關(guān)于個人開源項目(vue app)的一些總結(jié) 項目地址 https://github.com/BYChoo/record 項目簡介 此項目名叫:Record。是以...

    since1986 評論0 收藏0
  • Java 初學(xué)者做第一個微信小程序總結(jié)--關(guān)于Java基礎(chǔ)

    摘要:官方資料微信公眾平臺注冊小程序。官網(wǎng)開發(fā)文檔社區(qū)開發(fā)工具部署微信小程序微信小程序本身不需要部署,在微信開發(fā)工具中直接上傳代碼就行。 為什么 學(xué)習(xí) Java 三年,目前已經(jīng)工作了2年,因為自學(xué),基礎(chǔ)差,所以打算年末總結(jié)一下常見的基礎(chǔ)知識和面試點; 也可以通過獨立做一個項目整合自己工作期間學(xué)習(xí)的知識,加深印象。 但是想著回家或是平時手機用的多,做一款A(yù)PP和小程序很方便查看。 項目展示 本...

    mudiyouyou 評論0 收藏0
  • 學(xué)習(xí)實踐 - 收藏集 - 掘金

    摘要:官網(wǎng)地址聊天機器人插件開發(fā)實例教程一創(chuàng)建插件在系統(tǒng)技巧使你的更加專業(yè)前端掘金一個幫你提升技巧的收藏集。我會簡單基于的簡潔視頻播放器組件前端掘金使用和實現(xiàn)購物車場景前端掘金本文是上篇文章的序章,一直想有機會再次實踐下。 2道面試題:輸入URL按回車&HTTP2 - 掘金通過幾輪面試,我發(fā)現(xiàn)真正那種問答的技術(shù)面,寫一堆項目真不如去刷技術(shù)文章作用大,因此刷了一段時間的博客和掘金,整理下曾經(jīng)被...

    mikyou 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<