3.基于腳手架搭建一套vue3的框架

書接上回,我于是使用vue-cli@5 搭建了一套vue3+vuex+vuerouter+eslint+pretter的框架轰坊,這里沒有選擇vite,也沒有選擇ts冀宴,vite的話總覺得還是不太成熟火本,雖然編譯的快但是這個項目說起來也不算太大危队,編譯起來用webpack也不算慢,ts的話移植代碼太復雜了钙畔,生成代碼的過程就不記錄了茫陆,總之生成的代碼是這個樣子的

https://gitee.com/hanlin_wang0606/vue-element-admin-level/tree/%E5%88%9D%E5%A7%8B%E5%8C%96%E5%B7%A5%E7%A8%8B/

下面的每一次修復,我都會提交并且打上一個tag擎析,方便各位老鐵們查看簿盅。

初始化工程

初始化的工程我增加了一點東西,引入了element-plus 引入了axios,增加了一個路由login挪鹏,用來指向login頁面见秽,同時把login頁面的所需要的文件都拿了過來。打開之后頁面目前是這個樣子
image

這個登錄頁面像點樣子了讨盒,我們就從這里開始著手吧!

修復驗證碼顯示不出來

首先是驗證碼沒有加載出來步责,查看控制臺發(fā)現(xiàn)如下情況

image

在src那里有一個undefined返顺,查看源代碼發(fā)現(xiàn)
image

這里需要一個環(huán)境變量 process.env.VUE_APP_BASE_API
于是想到需要把
image

移植過來,并且在vue.config.js里面配置了一些根路徑。
查看代碼:修復驗證碼不顯示

此時驗證碼出來了


image
修復圖標不加載的問題

經(jīng)過對比發(fā)現(xiàn)下面的圖標都沒有加載出來

image

首先我先查閱了element-plus的圖標使用情況蔓肯,發(fā)現(xiàn)tmd大坑就是ele-p 的icon使用方式發(fā)生了改變
詳情查閱 https://element-plus.gitee.io/zh-CN/component/icon.html
我按著文檔增加了一個@element-plus/icons-vue

npm install @element-plus/icons-vue

重啟項目后我做了一個操作遂鹊,刪除了node_moudles,然后重新npm install 一下 之后啟動login頁面就報錯了

app.js:358 Uncaught ReferenceError: require is not defined
    at eval (index.mjs:4:30)
    at Module../node_modules/@element-plus/icons-vue/dist/es/index.mjs (chunk-vendors.js:9072:1)
    at __webpack_require__ (app.js:355:33)
    at fn (app.js:600:21)
    at eval (icon.js:7:16)
    at Object../node_modules/element-plus/lib/utils/vue/icon.js (chunk-vendors.js:7646:1)
    at __webpack_require__ (app.js:355:33)
    at fn (app.js:600:21)
    at Object../node_modules/element-plus/lib/utils/vue/index.js (chunk-vendors.js:7665:12)
    at __webpack_require__ (app.js:355:33)

注意,一定是要按照我上面的操作才會報錯蔗包。這個錯我查詢了秉扑,最終在webpack官網(wǎng)上查出來一些眉目。注意此時的.env.development文件是這樣的

ENV = 'development'

VUE_APP_BASE_API = '/rdp-cloud'

# rdp begin
#VUE_APP_BASE_URL = 'http://localhost:8081/rdp'
#VUE_APP_BASE_AUTH_PATH = ''
# rdp end

# rdp-cloud begin
 VUE_APP_BASE_URL = 'http://localhost:8080'
 VUE_APP_BASE_AUTH_PATH = '/auth'
 VUE_CLI_BABEL_TRANSPILE_MODULES = true
# rdp-cloud end

VUE_CLI_BABEL_TRANSPILE_MODULES這個東西是不符合webpack@5的規(guī)范的调限,原作者也有寫到這個東西的作用:

image

于是刪除了這個東西舟陆,我們是webpack@5根本不需要他,上面的那個報錯就消失了,此時的代碼變成了這個樣子
查看代碼:修復配置文件錯誤導致的問題問題

然后icon還是不顯示我就查閱了源代碼發(fā)現(xiàn)這個icon是使用svg的方式進行使用的耻矮,秦躯,設計理念參考原作者博客的內(nèi)容https://juejin.cn/post/6844903517564436493
于是我開始進行了對svg的支持。

查看代碼:修復登錄頁圖標不顯示問題

此時圖標終于出來了


image
登錄功能開發(fā)

現(xiàn)在登錄界面都渲染出來了裆装,下一步的工作就是點擊登錄按鈕進行登錄操作了踱承,于是我輸入了正確的賬號密碼和驗證碼,點擊登錄之后控制臺報了如下的錯:
image

于是開始跟蹤代碼哨免,拷貝相關代碼茎活。
過程中主要報了如下幾個錯誤
1.path-browserify缺失

 webpack < 5 used to include polyfills for node.js core modules by default.
This is no longer the case. Verify if you need this module and configure a polyfill for it.

If you want to include a polyfill, you need to:
        - add a fallback 'resolve.fallback: { "path": require.resolve("path-browserify") }'
        - install 'path-browserify'
If you don't want to include a polyfill, you can use an empty module like this:
        resolve.fallback: { "path": false }

解決方案上面都寫了:

npm install -D path-browserify

//vue.config.js這部分加上 path: require.resolve("path-browserify") 代碼即可
configureWebpack: {
    // provide the app's title in webpack's name field, so that
    // it can be accessed in index.html to inject the correct title.
    name: defaultSettings.title,
    resolve: {
      alias: {
        path: require.resolve("path-browserify"),
      },
    },
  },

2.element-ui引入錯誤

Can't resolve 'element-ui' in xxx
//解決方案找到這個文件 把element-ui 改成element-plus 并且修改對應組件的引用

3.部分語法不兼容

v-model:value修改v-model
/deep/ xxx修改為&:deep
v-model:visible 修改為 v-model

4.缺失screenfull 直接npm install screenfull即可

'tag' property on 'router-link' component is deprecated. Use scoped slots instead 

6.登錄出現(xiàn)下面的彈窗


image.png

出現(xiàn)這個是在網(wǎng)絡請求的時候,校驗參數(shù)不通過琢唾。我這里出現(xiàn)這個問題是由于這里寫錯了

      request({
        url: `${process.env.VUE_APP_BASE_AUTH_PATH}/oauth/token`,
        headers: {
          isToken: false,
          // 下面這個寫錯了導致參數(shù)
          Authorization: "Basic cmRwOjE=",
        },
        method: "post",
        params: sysLoginForm,
      })
        .then((data) => {
          // const {data} = response
          commit("SET_TOKEN", data.access_token);
          setToken(data.access_token);
          resolve();
        })
        .catch((error) => {
          reject(error);
        });

經(jīng)過一番cv以及前端的一些基礎性操作载荔,終于把首頁搞出來了,請看代碼
首次登錄成功跳轉(zhuǎn)到了首頁

image

接下來請看文章4 對首頁的功能修復

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末慧耍,一起剝皮案震驚了整個濱河市身辨,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌芍碧,老刑警劉巖煌珊,帶你破解...
    沈念sama閱讀 218,525評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異泌豆,居然都是意外死亡定庵,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,203評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蔬浙,“玉大人猪落,你說我怎么就攤上這事〕氩” “怎么了笨忌?”我有些...
    開封第一講書人閱讀 164,862評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長俱病。 經(jīng)常有香客問我官疲,道長,這世上最難降的妖魔是什么亮隙? 我笑而不...
    開封第一講書人閱讀 58,728評論 1 294
  • 正文 為了忘掉前任途凫,我火速辦了婚禮,結果婚禮上溢吻,老公的妹妹穿的比我還像新娘维费。我一直安慰自己,他們只是感情好促王,可當我...
    茶點故事閱讀 67,743評論 6 392
  • 文/花漫 我一把揭開白布犀盟。 她就那樣靜靜地躺著,像睡著了一般硼砰。 火紅的嫁衣襯著肌膚如雪且蓬。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,590評論 1 305
  • 那天题翰,我揣著相機與錄音恶阴,去河邊找鬼。 笑死豹障,一個胖子當著我的面吹牛冯事,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播血公,決...
    沈念sama閱讀 40,330評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼昵仅,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了累魔?” 一聲冷哼從身側(cè)響起摔笤,我...
    開封第一講書人閱讀 39,244評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎垦写,沒想到半個月后吕世,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,693評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡梯投,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,885評論 3 336
  • 正文 我和宋清朗相戀三年命辖,在試婚紗的時候發(fā)現(xiàn)自己被綠了况毅。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,001評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡尔艇,死狀恐怖尔许,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情终娃,我是刑警寧澤味廊,帶...
    沈念sama閱讀 35,723評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站棠耕,受9級特大地震影響毡们,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜昧辽,卻給世界環(huán)境...
    茶點故事閱讀 41,343評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望登颓。 院中可真熱鬧搅荞,春花似錦、人聲如沸框咙。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,919評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽喇嘱。三九已至茉贡,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間者铜,已是汗流浹背腔丧。 一陣腳步聲響...
    開封第一講書人閱讀 33,042評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留作烟,地道東北人愉粤。 一個月前我還...
    沈念sama閱讀 48,191評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像拿撩,于是被迫代替她去往敵國和親衣厘。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,955評論 2 355

推薦閱讀更多精彩內(nèi)容