<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          EggBorn.jsJavascript 全棧開發(fā)框架

          聯(lián)合創(chuàng)作 · 2023-09-20 05:15

          EggBorn.js 是什么

          EggBorn.js是一款頂級(jí)Javascript全棧開發(fā)框架。

          EggBorn.js是采用Javascript進(jìn)行全棧開發(fā)的最佳實(shí)踐。 EggBorn.js不重復(fù)造輪子,而是采用業(yè)界最新的開源技術(shù),進(jìn)行全棧開發(fā)的最佳組合。 EggBorn.js前端采用Vue.js + Framework7 / Vue Router + Webpack,后端采用Koa.js + Egg.js,數(shù)據(jù)庫(kù)采用mysql。 EggBorn.js時(shí)刻跟蹤開源技術(shù)的最新成果,并持續(xù)優(yōu)化,使整個(gè)框架時(shí)刻保持最佳狀態(tài)。

          EggBorn.js 重點(diǎn)解決什么問(wèn)題:業(yè)務(wù)模塊化

          Javascript技術(shù)的蓬勃發(fā)展,為前后端開發(fā)帶來(lái)了更順暢的體驗(yàn),顯著提升了開發(fā)效率。但仍有網(wǎng)友質(zhì)疑Javascript能否勝任大型Web應(yīng)用的開發(fā)。大型Web應(yīng)用的特點(diǎn)是隨著業(yè)務(wù)的增長(zhǎng),需要開發(fā)大量的頁(yè)面組件。面對(duì)這種場(chǎng)景,一般有兩種解決方案:

          1 采用單頁(yè)面的構(gòu)建方式,缺點(diǎn)是產(chǎn)生的部署包很大。

          2 采用頁(yè)面異步加載方式,缺點(diǎn)是頁(yè)面過(guò)于零散,需要頻繁與后端交互。

          EggBorn.js實(shí)現(xiàn)了第三種解決方案:

          3 頁(yè)面組件按業(yè)務(wù)需求歸類,進(jìn)行模塊化,并且實(shí)現(xiàn)了模塊的異步加載機(jī)制,從而彌合了前兩種解決方案的缺點(diǎn),完美滿足大型Web應(yīng)用業(yè)務(wù)持續(xù)增長(zhǎng)的需求。

          EggBorn.js 的技術(shù)特點(diǎn)

          • 業(yè)務(wù)模塊化:頁(yè)面組件按模塊組織

          • 加載方式靈活:模塊既可異步加載,也可同步加載

          • 模塊高度內(nèi)聚:模塊包括前端頁(yè)面組件和后端業(yè)務(wù)邏輯

          • 參數(shù)配置靈活:模塊中的前后端可以單獨(dú)進(jìn)行參數(shù)配置

          • 國(guó)際化:模塊中的前后端均支持獨(dú)立的國(guó)際化

          • 模塊隔離:模塊的頁(yè)面、數(shù)據(jù)、邏輯、路由、配置等元素均進(jìn)行了命名空間隔離處理,避免模塊之間的變量污染與沖突

          • 超級(jí)易用的事務(wù)處理:只需在路由記錄上配置一個(gè)參數(shù),即可完美實(shí)現(xiàn)數(shù)據(jù)庫(kù)的事務(wù)處理。

          • 漸進(jìn)式開發(fā):由于模塊的高度內(nèi)聚,可以將業(yè)務(wù)以模塊的形式沉淀,在多個(gè)項(xiàng)目中重復(fù)使用,既可貢獻(xiàn)到npm開源社區(qū),也可部署到公司內(nèi)部私有npm倉(cāng)庫(kù)。

          有了EggBorn.js,從此可復(fù)用的不僅僅是組件,還有業(yè)務(wù)模塊。

          快速上手

          安裝EggBorn.js腳手架

          $ npm install -g egg-born

          新建項(xiàng)目

          $ egg-born project_name
          $ cd project_name
          $ npm install

          EggBorn.js目前提供了2個(gè)項(xiàng)目腳手架,分別是

          • front-backend-mysql – 前后端全棧項(xiàng)目模板

          • front – 前端項(xiàng)目模板,后端可采用其他方案

          配置mysql連接參數(shù)

          如果采用了`front-backend-mysql`模板,請(qǐng)配置mysql連接參數(shù)(空數(shù)據(jù)庫(kù)即可)

          編輯src/backend/config/config.default.js文件

            // mysql
            config.mysql = {
              clients: {
                // donot change the name  
                __ebdb: {
                  host: '127.0.0.1',
                  port: '3306',
                  user: 'travis',
                  password: '',
                  database: 'egg-born',
                },
              },
            };

          運(yùn)行項(xiàng)目

          啟動(dòng)后端服務(wù)

          $ npm run dev:backend

          啟動(dòng)前端服務(wù)

          $ npm run dev:front

          EggBorn.js架構(gòu)圖

          系統(tǒng)架構(gòu)

          EggBornJS.png

          項(xiàng)目文件結(jié)構(gòu)

          structure.png

          模塊文件結(jié)構(gòu)

          privatemodule.png

          publicmodule.png

          瀏覽 10
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  欧美黄片免费 | 一级黄色A片 | 久久综合第一页 | 免费在线亚洲视频 | 国产v亚洲v日韩v欧美v天堂V |