vue項(xiàng)目下npm或yarn下安裝echarts多個(gè)版本方式
vue項(xiàng)目下npm或yarn下安裝echarts多個(gè)版本
最近在大屏展示的時(shí)候,用到了百度的echarts圖表庫,看完效果圖后,又瀏覽了一下echarts官網(wǎng)案例,大同小異。但是搬磚過程中發(fā)現(xiàn)實(shí)際效果和demo相差甚遠(yuǎn),一番折騰發(fā)現(xiàn),項(xiàng)目中安裝的是echarts4.x版本,而這次需要用到的echarts5.x版本的。
由于echarts關(guān)聯(lián)的其他模塊已經(jīng)上線,echart圖表穩(wěn)步運(yùn)行中,echarts4.x和echarts5.x 在引用方式也不相同,升級版本是不可能的,代價(jià)太大,當(dāng)時(shí)在想一個(gè)項(xiàng)目是否可以安裝多個(gè)版本的依賴包呢?事實(shí)情況是可以的。
一個(gè)項(xiàng)目echarts安裝多個(gè)版本,其實(shí)就是給不同版本的包起別名,這樣就避免了在package.json文件中出現(xiàn)覆蓋情況。
- npm 安裝別名官網(wǎng)文檔介紹
- 別名 <alias>@npm:<name>
主要由 npm install 之類的命令和 package.json 的依賴部分使用,this 通過別名引用包。
<alias> 是在 node_modules 文件夾中具體化的包的名稱,而 <name> 指的是在配置的注冊表中找到的包名稱。
Primarily used by commands like npm install and in the dependency sections in the package.json, this refers to a package by an alias.
The <alias> is the name of the package as it is reified in the node_modules folder, and the <name> refers to a package name as found in the configured registry.
官網(wǎng)給的例子
Examples:
- semver:@npm:@npmcli/semver-with-patch
- semver:@npm:semver@7.2.2
- semver:@npm:semver@legacy
在這里 semver: 就是別名了
如果你用的yarn 基本上是和npm是一樣的
yarn add <alias-package>@npm:<package>
這將在自定義別名下安裝一個(gè)包。
別名允許安裝同一依賴的多個(gè)版本,每個(gè)版本都通過給定的別名包名稱進(jìn)行引用。
例如,yarn add my-foo@npm:foo 將在你的 dependencies 中以指定的別名 my-foo 安裝軟件包 foo(最新版本)。
此外,yarn add my-foo@npm:foo@1.0.1 允許安裝特定版本的 foo。
This will install a package under a custom alias.
Aliasing, allows multiple versions of the same dependency to be installed, each referenced via the alias-package name given.
For example, yarn add my-foo@npm:foo will install the package foo (at the latest version) in your dependencies under the specified alias my-foo.
Also, yarn add my-foo@npm:foo@1.0.1 allows a specific version of foo to be installed.
以echarts為例,目前項(xiàng)目中已經(jīng)安裝了4.x并運(yùn)行上線了

安裝echarts5.4.3版本,我項(xiàng)目用的是yarn,所以控制臺輸入
yarn add echarts5@npm:echarts@5.4.3

安裝成功后看到package.json

echarts5.x版本引用方式
import * as echarts from 'echarts5';
當(dāng)前安裝echarts4.x和5.x兩個(gè)版本,分別為兩種命名,在引用時(shí)分別引用對應(yīng)的別名即可。
其他
一個(gè)vue組件中是否可以同時(shí)引用echarts4.x 和 echarts5.x 呢,特意試了一下,沒有問題,可以同時(shí)展示兩種。
找了個(gè)儀表盤的demo同時(shí)在一個(gè)組件中實(shí)現(xiàn):

總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
el-tree?loadNode懶加載的實(shí)現(xiàn)
本文主要介紹了el-tree?loadNode懶加載的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08
vue?長列表數(shù)據(jù)刷新的實(shí)現(xiàn)及思考
這篇文章主要為大家介紹了vue?長列表數(shù)據(jù)刷新的實(shí)現(xiàn)及思考,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04
Vue導(dǎo)出頁面為PDF格式的實(shí)現(xiàn)思路
這篇文章主要介紹了Vue導(dǎo)出頁面為PDF格式的實(shí)現(xiàn)思路,其實(shí)思路也很簡單,就是將頁面轉(zhuǎn)換成圖片格式.然后通過圖片的base64碼.生成PDF..感興趣的朋友跟隨腳本之家小編一起看看吧2018-07-07
手把手教你Vue3實(shí)現(xiàn)路由跳轉(zhuǎn)
Vue Router是Vue.js的官方路由器,它與Vue.js核心深度集成,使使用Vue.js構(gòu)建單頁應(yīng)用程序變得輕而易舉,下面這篇文章主要給大家介紹了關(guān)于Vue3實(shí)現(xiàn)路由跳轉(zhuǎn)的相關(guān)資料,需要的朋友可以參考下2022-08-08
基于Vue+Webpack拆分路由文件實(shí)現(xiàn)管理
這篇文章主要介紹了基于Vue+Webpack拆分路由文件實(shí)現(xiàn)管理,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11
利用Vue Native構(gòu)建移動(dòng)應(yīng)用的全過程記錄
VueNative是一個(gè)使用JavaScript構(gòu)建跨平臺原生移動(dòng)應(yīng)用程序的框架m這篇文章主要給大家介紹了關(guān)于如何利用Vue Native構(gòu)建移動(dòng)應(yīng)用的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2021-08-08
vue里input根據(jù)value改變背景色的實(shí)例
今天小編就為大家分享一篇vue里input根據(jù)value改變背景色的實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-09-09

