vue cli3

新建項目

https://github.com/2384830985...css

# 安裝 Vue Cli
npm install -g @vue/cli

# 建立一個項目
vue create hello-world

# 建立完成後,能夠經過命令打開圖形化界面,以下圖所示
vue ui
  • vuex-router-sync

多環境開發

rem適配方案

仍是那句話,用vw仍是用rem,這是個問題?html

選用rem的緣由是由於vant直接推薦了這個適配方案,直接上手:前端

Vant 中的樣式默認使用px做爲單位,若是須要使用rem單位,推薦使用如下兩個工具vue

  • postcss-pxtorem 是一款 postcss 插件,用於將單位轉化爲 rem

也可用:postcss-px2rem-exclude webpack

  • lib-flexible 用於設置 rem 基準值

下面提供了一份基本的 postcss 配置,能夠在此配置的基礎上根據項目需求進行修改ios

module.exports = {
  plugins: {
    'autoprefixer': {
      browsers: ['Android >= 4.0', 'iOS >= 7']
    },
    'postcss-pxtorem': {
      rootValue: 37.5,
      propList: ['*']
    }
  }
}

移動端console.log

  • vconsole(在移動端查看調試器)

常見運行依賴

  • qs
  • lodash
  • moment
  • vue-router(路由跳轉)
  • axios(數據請求)
  • vuex(狀態管理)
  • vue-awesome-picker
  • vue-awesome-swiper
  • vue-lazyload(圖片懶加載)
  • fastclick(解決移動端瀏覽器 300 毫秒點擊延遲問題)
  • vue-touch(手勢判斷)

常見開發依賴

  • @vue/cli-plugin-eslint
  • @vue/cli-plugin-babel
  • @vue/cli-plugin-pwa
  • @vue/cli-service
  • @vue/eslint-config-standard
  • http-push-webpack-plugin
  • compression-webpack-plugin
  • html-webpack-inline-source-plugin
  • px2rem-loader
  • cross-env
  • mock.js(模擬後臺數據)

生產環境使用CDN

優化方案

  • 騰訊智圖(壓縮圖片,減小圖片的體積)
  • vue-lazyload(圖片懶加載,緩解加載數據,提升網頁性能)
  • fastclick(解決移動端300ms延遲,提升頁面交互流暢度)
  • vue-rouer(路由懶加載,分離app的js爲多個js文件,到對應的頁面再執行對應的js)
  • webpack(config/index.js文件內的productionSourceMap改成false,這樣打包出來的文件能夠沒有.map結尾的js文件,且文件體積減小至少一半)
  • Vuex刷新保存狀態

使用Vuex作狀態管理的時候,當用戶刷新頁面,Vuex裏面的狀態會所有丟失,從而引發程序的一場。解決思路是在creared()鉤子函數裏面添加如下方法:git

created(){
   console.log('頁面執行刷新時,保存Vuex的狀態到LocalStorage')
    //在頁面加載時讀取localStorage裏的狀態信息
    localStorage.getItem("userMsg") && this.$store.replaceState(Object.assign(this.$store.state,JSON.parse(localStorage.getItem("userMsg"))));
    
    //在頁面刷新時將vuex裏的信息保存到localStorage裏
    window.addEventListener("beforeunload",()=>{
        localStorage.setItem("userMsg",JSON.stringify(this.$store.state))
    })
  }

上面代碼的原理是,當頁面刷新時,會將當前Vuex的狀態存儲到LocalStorage裏面,刷新成功,再從LocalStorage賦值到Vuex裏面.github

pwa

https://github.com/JXtreehous...
https://zhuanlan.zhihu.com/p/...web

錯誤監控

持續集成服務 Travis CI/ gitlab-ci

項目升級vue cli3

「Vue實踐」項目升級vue-cli3的正確姿式vue-router

vue-cli3 項目從搭建優化到docker部署

vue-cli3 項目從搭建優化到docker部署

經過vue-cli3構建一個SSR應用程序

經過vue-cli3構建一個SSR應用程序

常見問題

關於tunneling socket could not be established , cause=getaddrinfo ENOTFOUND 錯誤的解決方法

初始化一個vue項目的時候,出現了一些問題
圖片描述
圖片描述
由於個人代理設置的是這個:
圖片描述

團隊建設

生鮮 B2B 技術平臺的前端團隊該如何搭建
技術棧:小菜前端的技術棧是如何規劃和演進的
技術棧:爲何 Node 是小菜前端團隊的核心技術棧

架構

大型項目前端架構淺談
Vue 項目架構設計與工程化實踐
前端工程師必備:前端的模塊化
用 Feature First 的方式管理前端項目複雜度

參考

封裝Vue組件的一些技巧
基於vue-cli3.0構建功能完善的移動端架子
「Vue實踐」武裝你的前端項目
Vue CLI 3結合Lerna進行UI框架設計
技術地圖 - vue-cli
一張圖教你快速玩轉vue-cli3
Vue全家桶商城全站升級之引入HTTPS,PWA,錯誤監控,持續構建。

相關文章
相關標籤/搜索