原创 webpack-dev-server解決單頁面應用路由問題

目前比較主流的框架如Vue、React等,都是單頁面應用的框架。一般我們在使用它們的時候,會使用官方腳手架來創建項目,所以我們不必關心單頁面應用路由是如何實現的,因爲腳手架中已經幫我們做好了配置。在具體項目開發中,我們只需要做相應

原创 Jest中常用斷言歸納

Jest中常用的匹配器 toBe()匹配器: toBe匹配器用來比較原始值或檢查對象實例的引用一致性,類似於 ‘Object.is’ 方法和 ‘===’. // toBe匹配器 test('測試 結果是否等於 "abc"', ()

原创 Jest中的mock

Jest中mock的作用: mock函數,捕獲函數的調用 和 返回結果 以及 this指向 和 調用順序. 可以讓我們自由的設置返回結果. 改變內部函數的實現. 業務代碼: import axios from 'axios'

原创 webpack中babel的使用(學習篇10)

babel的作用主要是:把ES6代碼轉換爲當前和舊版瀏覽器或環境中可以識別的js語法。下邊說說babel在webpack中的用法。 安裝: npm install --save-dev babel-loader @babel/co

原创 Vue中刷新當前路由的方法

問題場景 項目開發中經常會遇到完成某些操作,刷新當前路由的需求。 問題:比如當我們使用動態組件時,從列表頁進入編輯頁面,沒有牽扯到路由的變動,只是動態加載了不同的組件而已。那麼當你編輯完成後,又想回到列表頁,此時的列表頁還是會

原创 JS中的事件循環機制

javascript是一門單線程、非阻塞的語言。任何時候,都只有一個主線程來處理所有的任務。 當遇到異步事件時,並不會一直等待異步代碼返回結果,而是會將這個事件掛起,繼續執行執行棧中的其他任務。當異步事件返回結果後,js會將異

原创 Error: Requires Babel "^7.0.0-0", but was loaded with "6.26.3".

在使用Nuxt.js搭建項目時,由於nuxt默認沒有幫我們做語法轉譯,這裏想使用es6語法,通過配置遇到報如下錯誤: 報錯原因:是由於安裝的babel依賴與實際使用版本不匹配導致 解決:安裝babel v7版本,並安裝依賴項

原创 JS中的基礎數據結構

在js中有三種常用的數據結構是我們必須瞭解的,他們分別是棧(stack)、堆(heap)、隊列(queue),下面分別做介紹。 棧(stack) 基礎定義: 1.棧是一種數據結構,它表達的是數據的一種存取方式. 2.棧可用來

原创 Jest中的鉤子函數

在jest中,如果測試用例中需要使用到某個對象 或 在執行測試代碼的某個時刻需要做一些必要的處理,直接在測試文件中寫基礎代碼是不推薦的,可以使用jest的鉤子函數。 鉤子函數的作用:在代碼執行的某個時刻,會自動運行的一個函

原创 TypeError: CleanWebpackPlugin is not a constructor

在使用clean-webpack-plugin插件時,遇到TypeError: CleanWebpackPlugin is not a constructor報錯,如下圖: 這往往是插件的引入方式不對造成的,錯誤寫法: cons

原创 JS判斷數組的方法

判斷一個數組的方法有以下三種: var obj = [1, 2, 3] Array.isArray(obj) obj instanceof Array 或 obj.constructor === Array Obj

原创 Jest中對Dom節點操作的測試

Jest對Dom節點操作測試?: 目錄結構: |--demo.js |--demo.test.js |--jest.config.js |--package-lock.json |--package.json demo.js i

原创 WARNING: We noticed you're using the `useBuiltIns` option without declaring a core-js version.

在使用webpack4中,使用@babel/polyfill中的"useBuiltIns":“usage” 配置項時,打包出現以下警告⚠️ 往往是沒有在配置中聲明core-js版本的問題,具體解決方法如下: 在.babelrc文

原创 webpack -- eslint的配置

eslint的作用:代碼規範工具。 eslint的使用 項目目錄:(簡單舉例) |--demo |--src |--index.html |--index.js |--home.js |--list.js |-

原创 Hot Module Replacement熱更新(webpack學習篇9)

模塊熱替換(HMR - Hot Module Replacement)作用:是指在應用程序運行過程中替換、添加或刪除模塊,而無需重新加載整個頁面。主要是通過以下幾種方式,來顯著加快開發速度: 保留在完全重新加載頁面時丟失的應用程