cli.vuejs(clivuejsorg)

  • 1、在vue-cli3.0中配置webpack
  • 2、一篇文章說清 webpack、vite、vue-cli、create-vue 的區別
  • 3、VueCLI3打包優化–抽離依賴包
  • 4、Vue兼容ie9+
  • 5、Vue項目打包發布至npm
  • 6、Vue CLI內網安裝(禁止運行vue指令解決方案)

在vue-cli3.0中,對各種配置文件進行了合併,若要進行webpack相關配置,需要在項目根目錄下新建vue.config.js文件

在 vue.config.js 中的 configureWebpack 選項提供一個對象:

提示:有些webpack設置選項是基於vue項目設置的,為了保證vue可以正常工作,某些webpack的配置需要遵從vue提供的配置選項,例如

如果你熟悉webpack,你已經可以開始配置項目了

擴展:鏈式操作—jquery那般的鏈式書寫方式

官方文檔:

先看這個表格:

是不是有了一個整體的感覺?我們再來詳細的看一下。

官網:

vue-cli 是 Vue 早期推出的一款腳手架,使用 webpack 創建 Vue 項目,可以選擇安裝需要的各種插件,比如 Vuex、VueRouter等。

vue-cli 用於創建 vue2 的項目;

@vue/cli 用於創建 vue3 的項目,當然也支持 vue2。

使用起來還是比較繁瑣的,首先要安裝腳手架,然後使用 vue create hello-world 創建項目,具體的就不介紹了。

官網:

create-vue 是 Vue3 的專用腳手架,使用 vite 創建 Vue3 的項目,也可以選擇安裝需要的各種插件,使用更簡單。

然後我們可以選擇需要的各種插件:

官網:

使用 vite 不僅可以創建 vue 的項目,而且可以創建 react 等項目,只是需要手動安裝第三方插件,有點麻煩。

目前支持的模板預設如下:

官網:

rollup 是一種打包工具,特點就是,打的包非常精簡,體積小。

官網是英文的,中文資料也比較少,不過好在常規用法可以參考 vite的官網。

尤雨溪在知乎的一次回答( )里提到:

webpack 是一個全能選手,啥都能幹,只是有點複雜,對新手不太友好。

Rollup 是後起之秀,打包更簡潔。

vite 把 rollup 變成了「開袋即食」,便於新手入門。

create-vue 基本取代了 vue-cli,除非你想創建 vue2 的項目。

所以,想創建一個 vue3 的項目,首選 create-vue,非常方便快捷,建立的項目也可以統一風格。

項目開發中,使用了很多依賴包,如 Vue 、路由管理 Vue-router 、狀態管理 Vuex 、UI組件庫( ElementUI 、 Vant )、圖表( echarts )等。打包構建,發現有一些包體積過大,會影響首頁載入速度。如下所示:

從上圖的分析包中,可以將以下插件抽離:

需要刪除的依賴包

VueCLI3自帶了 webpack analzer ,可通過如下命令即可生成分析包內容,在 dist/report.html

更多請查看:

減少打包體積、加快打包速度,常規的優化有以下兩種:

按需載入是通過只引用使用的組件來減少體積,這就會有一個問題:如果項目重度依賴第三方插件(如 ElementUI 、 vant ),那麼此方案將無法減少打包的體積。

這裡選擇CDN的方式, 配置流程 :

可根據環境變數,僅在線上採取使用CDN,開發環境直接使用npm依賴包即可。

進行包分離以後,打包結果:

vue.config.js 的pages為:

修改如下的地方:

外部擴展(externals)

使用webpack的externals來指定echarts無法減少包的大小

vue-cli利用webpack-bundle-analyzer分析構建產物

首先說明一下我在這裡使用的是vue-cli3創建的項目,不同版本的配置可能略有差異,不過一切以官方文檔的為準,在這裡先貼出vue-cli文檔鏈接,因為文檔說明還是挺詳細的。

進入正題,這裡說明一下本文實現兼容應用的是 Babel7.4.0 之前的版本,7.4.0版本前轉碼主要應用到的工具還是 @Babel/polyfill ,由於Babel默認只轉換新的javascript語法,不支持新的Api(如Set,Map,Promise),所以還需要引入 cors.js ,這個項目中沒有使用到Generator函數所以不需要引入 regenerator-runtime ,首先用vue-cli3創建的項目package.json文件中有 browserslist 這個欄位或是在項目根目錄有一個 .browserslistrc 文件,這裡是用來指定可用瀏覽器的範圍,關於指定瀏覽器版本配置可以參考這裡 。順便貼出目前我的配置。

可以在終端運行 npx browserslist 查詢當前已選擇了那些瀏覽器

一個用vue-cli創建的項目中默認會使用 @vue/babel-preset-app ,我們可以在node_modules @vue babel-preset-app package.json文件中看到配置了core.js,

沒有在entry入口文件進行配置@babel/polyfill網頁打開發現很多es6新的Api是不支持的。

此文章作為學習和記錄,如果有問題或是不對的地方歡迎各位大佬指出,感激不盡!

新建一個項目,在根目錄創建兩個文件夾 packages 和 examples

將原項目中 components 下所有組件複製到新項目的 packages 目錄下,如果有字體圖標,將字體圖標也一併放到 packages 目錄下

packages/index.js

main.js

必須在 new Vue() 方法前調用 use 方法註冊插件

Vue CLI提供了將Vue項目打包成庫的命令,官方文檔地址

package.json

在 package.json 中新增一條打包命令,其中 packages/index.js 指定打包入口文件

默認情況下該命令不會將 Vue 打包進去,因為任何引用我們庫的Vue項目都默認包含 Vue ,如果使用文件或者CDN方式引入我們的庫,則需要使用者手動引入 Vue 。可以通過添加 –inline-vue 參數來內置 Vue 。 –name 來指定打包後的名字。

運行打包命令

package.json

其中 name 不能在 npm 上已經存在, private 必須設置為 false ,否則發布會失敗, main 指定的是 import 我們的庫時默認導入的文件

如果包的名字已經被其他人使用了,可以聲明所有者信息來避免重名衝突。有兩種方式來實現,第一種,手動修改 package.json ,將 name 修改為 @username/package-name 。第二種,推薦在新項目中使用, npm init –scope==username 。這個時候,發布包的命令也要進行修改

.npmignore

定義哪些文件在上傳到npm時會被忽略。一般而言, examples 是包含測試的文件, packages 是源碼, public 是一些靜態文件,這些對庫的使用者來說意義不大,可以不上傳到npm

如果使用了第三方npm源,必須改回npm官方源

切換回官方源命令為 nrm use npm

登錄

發布

取消發布

發布時遇到錯誤時可能是以下原因導致的:

安裝

全局導入

使用組件

1、Vue cli簡介:

Vue cli是一個基於Vue.js 進行快速開發的完整系統,Vue CLI 致力於將 Vue 生態中的工具基礎標準化。它確保了各種構建工具能夠基於智能的默認配置即可平穩銜接,這樣你可以專註在撰寫應用上,而不必花好幾天去糾結配置的問題。與此同時,它也為每個工具提供了調整配置的靈活性,無需 eject。

cli(@vue/cli) 是一個全局安裝的 npm 包,提供了終端里的 vue命令。它可以通過vue create快速搭建一個新項目,或者直接通過vue serve構建新想法的原型。你也可以通過vue ui通過一套圖形化界面管理你的所有項目。

2、 Vue cli安裝

npm install -g @vue/cli

安裝之後,運行vue指令,遇到以下問題:由於公司內網執行策略限制,會禁止運行vue指令。

解決方案及步驟如下:

第一步:執行Set-ExecutionPolicy RemoteSigned更改執行策略。

第二步:如果沒有許可權更改全局的執行策略,加上-Scope CurrentUser後再次更改(Set-ExecutionPolicy RemoteSigned -Scope CurrentUser),並為ExecutionPolicy參數提供值為:RemoteSigned。

第三步:執行策略更改完成後,成功運行vue指令。

原創文章,作者:A8BFK,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/126268.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
A8BFK的頭像A8BFK
上一篇 2024-10-03 23:07
下一篇 2024-10-03 23:07

相關推薦

  • Vue-cli-service build –mode詳解

    一、模式概述 Vue-cli-service是一個基於webpack的項目腳手架,用於快速搭建Vue項目。在Vue-cli-service的build命令中,我們可以通過指定mod…

    編程 2025-04-22
  • Vue CLI官網詳解

    一、Vue CLI概述 Vue CLI(命令行界面)是一個基於Vue.js的標準化工具,通過Vue CLI你可以快速構建一個Vue項目,並且實現自定義配置、插件安裝等功能。Vue …

    編程 2025-04-12
  • Vue-cli版本查看

    一、介紹 Vue-cli是Vue.js官方提供的一個腳手架,可幫助我們快速搭建Vue.js開發環境,自動生成Vue項目目錄,並集成了常用的開發工具,如Webpack、Babel、E…

    編程 2025-02-01
  • Vue CLI 3 安裝介紹

    Vue CLI 3 是一個實現自動化的 Vue.js 項目工具,它為 Vue.js 開發提供了豐富有用的功能,可以快速初始化項目或者配置各種插件等功能。Vue CLI 3 使用了 …

    編程 2025-01-20
  • 但在cli用php(Cli命令)

    本文目錄一覽: 1、linux php怎麼在cli模式下執行命令 2、PHP如何在CLI模式下使用CURL庫 3、怎樣讓 php 在 cli 與 fpm 環境下運行時載入不同的擴展…

    編程 2025-01-13
  • VueSetup: 讓VueJS開發更加高效簡單

    VueJS是一種流行的前端框架,使得Web開發更加容易和高效。在Vue 3中,VueSetup是一個新的語法糖,它引入了一種新的方法來組織和編寫Vue代碼。VueSetup通過其強…

    編程 2025-01-13
  • 掃碼中國 – https://cli.im/

    一、無需下載APP,直接掃二維碼 掃碼中國是一款線上二維碼生成工具,https://cli.im/ 是該工具的官方網站,該工具無需下載APP即可在線生成個性化二維碼。通過該工具,用…

    編程 2025-01-13
  • Vuenginx:讓 VueJS 和 Nginx 飛起來的全能 web 應用伺服器

    Vuenginx 是一款基於 Nginx 和 LuaJIT 的全能 web 應用伺服器,它允許你直接將 VueJS 代碼打包成 Nginx 模塊,並在 Nginx 中直接執行。Vu…

    編程 2025-01-09
  • vuejs前端框架製作網頁(web前端框架vue)

    本文目錄一覽: 1、vue框架是幹什麼的 2、號稱目前最火的前端框架Vue,它有什麼顯著特點呢? 3、bootstrap+vue.js做前端框架的特點 vue框架是幹什麼的 Vue…

    編程 2025-01-09
  • Vue-cli-service Build詳解

    一、安裝並使用vue-cli-service build Vue-cli-service build是一個基於webpack構建的命令行工具,用於將Vue應用程序編譯為靜態文件。使…

    編程 2025-01-05

發表回復

登錄後才能評論