1. 程式人生 > >vue-cli 最強指南

vue-cli 最強指南

highlight compress ecif 文件和目錄 主機 comm work 第一個 build

今天在這篇文章裏,會對 vue-cli 的功能做個詳細的整理,把 vue-cli 所有的功能都列出來。
註:這個是官網連接:https://cli.vuejs.org/zh/guide/ ,建議多看細看不但要看還要多想,這裏的介紹才是最全最準確的。
①.vue-cli 是什麽?
vue-cli 又稱為vue 腳手架,(我發現在起名這件事上前端從來就沒輸過)這個名字很通俗易懂。百度百科對腳手架的解釋是:腳手架是為了保證各施工過程順利進行而搭設的工作平臺。其實基建工程和軟件工程有很多東西都是相通的,軟件工程中的很多開發思想和管理方法也是從基建那邊引入的。在前端vue框架中引入腳手架這個名詞我就覺得非常好。另外從百度百科的解釋上看,也能大致猜出 vue-cli 在項目中是做什麽用的。vue-cli是一個工作平臺,在這個平臺裏面可以對項目開發進行高效的管控,使項目開發更符合標準,即使多人同時開發也能保證代碼規範要求一樣。在vue-cli這個工作平臺裏,多人協作開發效率更高,產品經理再也不用擔心我寫的代碼與小夥伴的不兼容了。因為有了這些優秀的框架前端也有機會能體驗到工程化編程了。其實我感覺最牛之處還是在項目遷移與備份方面。現在有了vue-cli只需要一個配置文件(package.json)和vue-cli中的幾個命令就能搭建出來一個同樣的腳手架(工作平臺)出來。

前提是得在你的電腦中先安裝好 vue-cli。
②.vue-cli 安裝
運行命令:cnpm install -g vue-cli
vue-cli 安裝之前先確定你的電腦中已經安裝好了nodejs,至於nodejs和怎麽安裝可以參考我的上一篇文章:走進vue2.0大觀園。
如果已經安裝好了nodejs,進入你的工作目錄‘E:\WorkSpace\vue2.0-tutorial’,打開命令窗口
運行命令:cnpm install –g vue-cli
cnpm 安裝命令:npm install -g cnpm --registry=https://registry.npm.taobao.org
註:cnpm 是淘寶的安裝鏡像,在速度上會快很多
-g 是全局安裝
vue-cli 安裝完成後,就可以使用vue 命令進行項目構建搭建一個項目平臺了。
③.vue-cli 構建項目
運行命令:vue init webpack your-project
在這個命令裏有個混入了一個奇怪的東西:webpack,webpack是什麽?為什麽在vue的命令裏會出現webpack這個指令?
先看一下官網:https://www.webpackjs.com/

技術分享圖片

從圖上可以看出來,左側的腳本、樣式、圖片、表、資源等文件經過webpack 後變成了簡單的三類四個文件:樣式、腳本、圖片。
so,webpack的作用就是對項目中的靜態資源文件進行打包操作,按照類別進行歸納集結。經過webpack打包之後的文件結構更清晰明了,最重要的是可以直接在瀏覽器中運行。因為webpack 已經集成到vue-cli中了,不需要單獨安裝,但是webpack4.X之後的版本需要安裝webpack依賴,

運行命令:cnpm install webpack webpack-cli -g
輸入命令:vue init -h

技術分享圖片

可以看到有兩種構建項目的方法可供選擇,第一中就是我們用的這種,這種構建的項目是使用官方的模板進行構建的,第二種 vue init username/repo my-porject 是使用github上的模板進行構建的。這裏我們我們選擇的就是第一種。

技術分享圖片

項目構建時配置的信息詳情如下:
Project name :項目名稱,可以自定義,直接回車默認是指令中指定的項目名
Project description :項目描述,也可直接點擊回車,使用默認名字
Author:作者,可以自己指定,也可直接回車
Runtime + Compiler: recommended for most users
運行加編譯,既然已經說了推薦,就選它了
Runtime-only: about 6KB lighter min+gzip, but templates (or any Vue-specificHTML) are ONLY allowed in .vue files - render functions are required elsewhere
僅運行時,已經有推薦了就選擇第一個了
Install vue-router? (Y/n)
是否安裝vue-router,這是官方的路由,大多數情況下都使用,這裏就輸入“y”後回車即可。
Use ESLint to lint your code? (Y/n)
是否使用ESLint管理代碼,ESLint是個代碼風格管理工具,是用來統一代碼風格的和標準的,這裏我選擇了“n”不安裝。
Setup unit tests with Karma + Mocha? (Y/n)
是否安裝單元測試。我選擇了“n”不安裝。
Setup e2e tests with Nightwatch(Y/n)?
是否安裝e2e測試。我選擇了“n”不安裝。

命令運行完成後,進入項目目錄會看到多了很多的文件,接下來就需要在這個基礎上進行項目開發。比直接進行文件夾創建和新建文件簡單多了吧。
④.vue-cli 配置講解
項目構建完成後一般是不需要再做額外的配置的,在命令行中輸入命令:cnpm run dev 進行項目啟動,然後可以在瀏覽器中打開就可以。
但是我還想把一些基本的配置在這裏做個介紹,這樣對這個構建完的項目如可配置和運行的能有個初步的了解。
用IDE導入剛才構建好的項目,我在這裏用的是visual studio code,功能能滿足日常開發需要,最重要的是免費,不用擔心軟件過期全網扒拉著找註冊碼了,這種痛用過破解版的都會懂。
項目目錄結構如下圖所示:

技術分享圖片

我在截圖中用紅框標出了幾個重點,看看都是什麽?
config:這裏就是整個項目的配置中心,全局配置都是在這裏做的。
dev.env.js:開發環境使用的變量
index.js:項目運行的配置信息,比如端口、文件的生成路徑、資源的存放目錄
prod.env.js:生產環境使用的變量

// index.js 文件

‘use strict‘ // 啟用嚴格模式
// Template version: 1.3.1
// see http://vuejs-templates.github.io/webpack for documentation.

const path = require(‘path‘)

module.exports = {
dev: {

// 資源路徑
assetsSubDirectory: ‘static‘, // 靜態資源文件子目錄
assetsPublicPath: ‘/‘, // 公共靜態資源文件
proxyTable: {}, // 代理列表,在做跨域請求時會使用到

// 開發環境配置項
host: ‘localhost‘, // 主機地址可以設置成:localhost/127.0.0.1/*.*.*.*(本機IP)
port: 8080, // 可以自定義,如果改端口被占用會啟用一個新的端口
autoOpenBrowser: false, // 是否允許自動打開瀏覽器
errorOverlay: true,
notifyOnErrors: true,
poll: false, //


/**
* Source Maps
*/

// https://webpack.js.org/configuration/devtool/#development
devtool: ‘cheap-module-eval-source-map‘,

// If you have problems debugging vue-files in devtools,
// set this to false - it *may* help
// https://vue-loader.vuejs.org/en/options.html#cachebusting
cacheBusting: true,

cssSourceMap: true
},

build: {
// 生產環境的首頁地址
index: path.resolve(__dirname, ‘../dist/index.html‘),

// 生產環境路徑
assetsRoot: path.resolve(__dirname, ‘../dist‘),
assetsSubDirectory: ‘static‘,
assetsPublicPath: ‘/‘,

/**
* Source Maps
*/

productionSourceMap: true, // 是否生成map文件
// https://webpack.js.org/configuration/devtool/#production
devtool: ‘#source-map‘,

// Gzip off by default as many popular static hosts such as
// Surge or Netlify already gzip all static assets for you.
// Before setting to `true`, make sure to:
// npm install --save-dev compression-webpack-plugin
productionGzip: false, // 是否開啟文件壓縮
productionGzipExtensions: [‘js‘, ‘css‘], // 壓縮文件過濾

// Run the build command with an extra argument to
// View the bundle analyzer report after build finishes:
// `npm run build --report`
// Set to `true` or `false` to always turn it on or off
bundleAnalyzerReport: process.env.npm_config_report
}
}

  

⑤.項目編譯打包
項目安裝完成,並且正常運行,接下來怎麽把項目上傳到服務器上去呢?能在服務器上訪問我們的項目文件,難道是把我們整個項目上傳上去?話說我就添加了一個文件,就把整個工程全都搞到服務器上是不是有點崩潰。如果這樣的話,vue框架就沒有存在的理由了。
那要怎麽做?
接下來就要介紹另一個功能了,項目打包,這就是安裝webpack的原因。
運行命令:cnpm run build
運行結束後會生成一個新文件夾:dist ,這裏面的文件就是我們需要上傳到服務上去的靜態文件。
打開dist目錄,看裏面的文件和目錄結構是不是清爽多了,這裏的文件就是經過webpack打包後生成的,和上面介紹的webpack是不是對應在一起了。

技術分享圖片

⑥.vue-cli 使用總結
下面對使用過的腳手架功能做個總結:
問:在使用 vue-cli 的時候我們共使用了幾個命令?
答:三個。
1.cnpm install -g vue-cli (vue-cli 安裝)
2.vue init webpack your-project (項目構建)
3.cnpm run build (項目編譯打包)

vue-cli 最強指南