欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Vue CLI2升級至Vue CLI3的方法步驟

 更新時(shí)間:2019年05月20日 09:03:51   作者:dailybird  
這篇文章主要介紹了Vue CLI2升級至Vue CLI3的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

以下備忘升級至 Vue CLI 3.x 版本后,將項(xiàng)目目錄改為新結(jié)構(gòu)時(shí)所需做的一些改動(dòng)。

1. 卸載與安裝

npm uninstall vue-cli -g
npm install -g @vue/cli

注:若要使用 Vue CLI 3,需將 Node 版本升級至 8.9 及以上。

當(dāng)使用 nvm 管理 node 版本時(shí),可以使用如下方式切換至需求的 Node 版本:

# 安裝 >= 8.9 的某個(gè)版本
nvm install 8.12.0

# 在當(dāng)前 session 中使用該版本
nvm use 8.12.0

# 設(shè)置默認(rèn)的 Node 版本
nvm alias default 8.12.0

2. 環(huán)境變量與多環(huán)境配置

2.1 環(huán)境變量

在 Vue CLI 2.x 中,如果需要定義環(huán)境變量,需要在 build/webpack.dev.conf.js 中加入:

plugins: [
 new webpack.DefinePlugin({
 'process.xxx': "'some value'",
 })
]

而在 Vue CLI 3.x 中,我們可以使用配置文件的方式便捷的進(jìn)行配置:

在項(xiàng)目中新建 .env 文件,寫入

VUE_APP_KEY=VALUE

即可在需要的地方使用 process.env.VUE_APP_KEY 調(diào)用了。注意,這里環(huán)境變量必須以 VUE_APP_ 開頭。

2.2 多環(huán)境配置

配置文件同樣支持多環(huán)境,即 .env.development 文件表示 development 環(huán)境;.env.production 文件表示 production 環(huán)境。

在使用 npm 命令時(shí),可以通過指定 --mode xxx 來啟用某一環(huán)境的環(huán)境變量。

注:.env 文件為所有環(huán)境的公用環(huán)境變量。

2.3 本地多環(huán)境配置

在 Vue CLI 3 中,聲明了對 .env.*.local 不進(jìn)行 Git 版本控制。

對于一些無需上傳到代碼倉庫的配置,可以使用這一方式。

3. 靜態(tài)資源文件

Vue CLI 3.x 將默認(rèn)資源文件根路徑放到了 /public 目錄下,而默認(rèn)精簡掉了 2.x 版本中的 /static 目錄。因而之前放置于 /static 目錄中的資源文件及其引用位置需要做些調(diào)整。

4. 在 WebStorm 中配置對 @ 符號的支持

默認(rèn)情況下,JetBrains 系列的 IDE 無法對 Vue 指定的 @ 符號進(jìn)行正確的路徑識別。此時(shí)我們可以在項(xiàng)目根文件夾下創(chuàng)建 webpack.config.js 文件,并寫入:

module.exports = {
 resolve: {
 alias: {
  '@': require('path').resolve(__dirname, 'src')
 }
 }
};

之后,在 IDE 中指定該文件路徑:

之后,IDE 便能正確識別 @ 所表示的路徑了。

5. 添加全局 Scss 文件

在前端項(xiàng)目中,經(jīng)常會(huì)用到相同的主題色。此時(shí),我們需要存儲(chǔ)這些變量,且將其全局引入。

在 Vue CLI 3 中,我們可以在根目錄下新建一個(gè) vue.config.js 文件,寫入如下內(nèi)容:

module.exports = {
 css: {
 loaderOptions: {
  sass: {
  data: `@import "@/styles/settings.scss";`
  }
 }
 }
};

此時(shí),settings.scss 該文件中的變量值便能在任意 Vue 組件中使用了。

當(dāng)然,如果要在 .vue 文件中使用 SCSS 語法,需要在 <style> 標(biāo)簽中增加如下屬性:

<style scoped lang="scss" type="text/scss">

</style>

6. 調(diào)整 ESLint 配置

ESLint 對未使用的變量和函數(shù)參數(shù)都做了限制,但原項(xiàng)目中確實(shí)有些地方需要保留這些 “暫時(shí)用不上” 的變量,因而這里對默認(rèn)的 ESLint 設(shè)置做了調(diào)整,即修改 .eslintrc.js 文件:

{
 ...
 
 rules: {
 'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off',
 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off',
 'vue/no-unused-vars': 'off',
 'vue/no-empty-pattern': 'off'
 },
 
 ...
}

7. Compiler 模式變更為 Runtime 模式

在升級至 Vue CLI 3 之后,直接運(yùn)行可能會(huì)出現(xiàn)如下報(bào)錯(cuò):

[Vue warn]: You are using the runtime-only build of Vue where the template compiler is not available. Either pre-compile the templates into render functions, or use the compiler-included build.

(found in <Root>)

這是因?yàn)?3.x 版本默認(rèn)使用的是運(yùn)行時(shí)模式,需要對 main.js 文件進(jìn)行修改:

new Vue({
 router,
 store,
 render: h => h(App)
}).$mount('#app');

將其改為上述方式即可。

8. 配置 lodash 使其模塊化加載

在項(xiàng)目中,如果使用如下方式引入 lodash:

import _ from 'lodash';

那么,即使只使用了其中的 _.get() 方法,也會(huì)將全部的 lodash 依賴壓縮到 .js 文件中。這不是我們期望的。

此時(shí),我們可以通過如下方式,使其能夠在這種引入方式下,也能自動(dòng)實(shí)現(xiàn)模塊加載:

首先,安裝如下依賴:

npm install babel-plugin-lodash --save-dev

然后在 babel.config.js 中添加如下內(nèi)容:

module.exports = {
  ...
  
  plugins: [
    'lodash'
  ]
  
  ...
};

9. 配置 analyzer

我們可以使用 analyzer 分析項(xiàng)目編譯后的文件組成,以便進(jìn)行加載速度優(yōu)化。

首先安裝依賴:

npm install webpack-bundle-analyzer --save-dev

然后在 vue.config.js 中添加如下配置:

const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin;

module.exports = {
  ...
  
  configureWebpack: {
    plugins: [
      new BundleAnalyzerPlugin()
    ]
  },
  
  ...
};

然后在 package.json 中添加新的命令:

"analyze": "npm_config_report=true npm run build"

之后,便可以執(zhí)行以下語句來查看項(xiàng)目編譯后文件大小組成了:

npm run analyze

注:采用這種方式后,每次 npm run devnpm run build 都會(huì)自動(dòng)彈出分析頁面。

如果不想這么做,可以直接使用如下方式( 無需安裝 webpack-bundle-analyzer 依賴 ):

"analyze": "vue-cli-service build --report"

當(dāng)執(zhí)行 npm run analyze 后,/dist 文件夾下會(huì)生成 report.html 分析報(bào)告頁面。

10. 引入外部 CDN

我們可以使用 CDN 來加速部分第三方依賴的加載速度,而不是把它們?nèi)看虬揭黄稹?/p>

在使用 script 標(biāo)簽引入需要的 .js 文件后,在 vue.config.js 文件增加如下配置:

module.exports = {
  ...
  
  configureWebpack: {
    externals: {
      "echarts": "echarts",
    }
  },
  
  ...
}

即可在需要的地方按如下方式使用了:

import echarts from 'echarts';

11. 忽略編譯文件大小限制警告

當(dāng)執(zhí)行 npm run build 時(shí),會(huì)出現(xiàn)警告信息:

asset size limit: The following asset(s) exceed the recommended size limit (244 KiB).

此時(shí),我們可以在 vue.config.js 中添加如下配置,忽略這條警告信息:

module.exports = {
  ...
  
  performance: {
    hints: false
  }
  
  ...
};

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Vue.js框架路由使用方法實(shí)例詳解

    Vue.js框架路由使用方法實(shí)例詳解

    這篇文章主要介紹了Vue.js框架路由使用方法實(shí)例詳解的相關(guān)資料,這里提供實(shí)例幫助大家學(xué)習(xí)理解這部分內(nèi)容,需要的朋友可以參考下
    2017-08-08
  • vue實(shí)現(xiàn)簡單轉(zhuǎn)盤抽獎(jiǎng)功能

    vue實(shí)現(xiàn)簡單轉(zhuǎn)盤抽獎(jiǎng)功能

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)簡單轉(zhuǎn)盤抽獎(jiǎng)功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • Vue props 單向數(shù)據(jù)流的實(shí)現(xiàn)

    Vue props 單向數(shù)據(jù)流的實(shí)現(xiàn)

    這篇文章主要介紹了Vue props 單向數(shù)據(jù)流的實(shí)現(xiàn),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-11-11
  • vue的路由守衛(wèi)和keep-alive后生命周期詳解

    vue的路由守衛(wèi)和keep-alive后生命周期詳解

    這篇文章主要為大家詳細(xì)介紹了vue路由守衛(wèi)和keep-alive,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • vue中動(dòng)態(tài)組件使用及傳值方式

    vue中動(dòng)態(tài)組件使用及傳值方式

    這篇文章主要介紹了vue中動(dòng)態(tài)組件使用及傳值方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • vue keep-alive 動(dòng)態(tài)刪除組件緩存的例子

    vue keep-alive 動(dòng)態(tài)刪除組件緩存的例子

    今天小編就為大家分享一篇vue keep-alive 動(dòng)態(tài)刪除組件緩存的例子,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • vue3.0 自適應(yīng)不同分辨率電腦的操作

    vue3.0 自適應(yīng)不同分辨率電腦的操作

    這篇文章主要介紹了vue3.0 自適應(yīng)不同分辨率電腦的操作,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-02-02
  • Vue + OpenLayers 快速入門學(xué)習(xí)教程

    Vue + OpenLayers 快速入門學(xué)習(xí)教程

    大家都知道使用 Openlayers可以很靈活自由的做出各種地圖和空間數(shù)據(jù)的展示。而且這個(gè)框架是完全免費(fèi)和開源的,本文記錄下 Vue 使用 OpenLayers 入門,使用 OpenLayers 創(chuàng)建地圖組件的相關(guān)知識,需要的朋友一起學(xué)習(xí)下吧
    2021-09-09
  • Vue3將虛擬節(jié)點(diǎn)渲染到網(wǎng)頁初次渲染詳解

    Vue3將虛擬節(jié)點(diǎn)渲染到網(wǎng)頁初次渲染詳解

    這篇文章主要為大家介紹了Vue3將虛擬節(jié)點(diǎn)渲染到網(wǎng)頁初次渲染詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • Vue+UpLoad實(shí)現(xiàn)上傳預(yù)覽和刪除圖片的實(shí)踐

    Vue+UpLoad實(shí)現(xiàn)上傳預(yù)覽和刪除圖片的實(shí)踐

    本文主要介紹了Vue+UpLoad實(shí)現(xiàn)上傳預(yù)覽和刪除圖片的實(shí)踐,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02

最新評論