vue-cli 是一個官方發(fā)布 vue.js 項(xiàng)目腳手架错忱,使用 vue-cli 可以快速創(chuàng)建 vue 項(xiàng)目。這篇文章將會從實(shí)操的角度肮韧,介紹整個搭建的過程掖鱼。
1. 避坑前言
其實(shí)這次使用vue-cli的過程并不順利,反復(fù)嘗試幾次都遇到以下這個報(bào)錯:
在網(wǎng)上查了很多資料才發(fā)現(xiàn)原來是node版本過低的問題悍赢,雖然沒有找到官方對這個“過低”問題的解釋决瞳,但是根據(jù)國外網(wǎng)友的經(jīng)驗(yàn)之談,應(yīng)該是至少使用node6左权,我將node4更新至node8之后確實(shí)沒有報(bào)錯了皮胡,順利搭建。相關(guān)答疑帖:https://github.com/vuejs/vue-cli/issues/618
將這個放在最前面說是希望大家在搭建前赏迟,應(yīng)該先確保將node更新至6以上屡贺,這樣能少走一些彎路。下面開始正式介紹整個構(gòu)建過程。
2. 使用 vue-cli 搭建項(xiàng)目
下面整個過程是基于已經(jīng)安裝node.js和cnpm的基礎(chǔ)上烹笔,node.js如何安裝就不在這里詳說了裳扯。如何全局化安裝cnpm,這里簡單提一下:
npm install cnpm -g --registry=https://registry.npm.taobao.org
其實(shí)對于安裝vue-cli谤职,使用npm命令和cnpm命令都是可以的饰豺,個人覺得使用npm安裝的比較慢,而且很可能會因?yàn)榫W(wǎng)絡(luò)問題而出錯允蜈,所以還是覺得使用cnpm穩(wěn)一點(diǎn)冤吨。
(1)全局安裝 vue-cli ,在命令提示窗口執(zhí)行:
cnpm install -g vue-cli
出現(xiàn)以上提示表示vue-cli正常安裝成功饶套,可以正式創(chuàng)建vue-cli工程項(xiàng)目了漩蟆。
(2)安裝vue-cli成功后,通過cd命令進(jìn)入你想放置項(xiàng)目的文件夾妓蛮,在命令提示窗口執(zhí)行創(chuàng)建vue-cli工程項(xiàng)目的命令:
vue init webpack
確認(rèn)創(chuàng)建項(xiàng)目后怠李,后續(xù)還需輸入一下項(xiàng)目名稱、項(xiàng)目描述蛤克、作者捺癞、打包方式、是否使用ESLint規(guī)范代碼等等构挤,詳見上圖髓介。安裝順利執(zhí)行后會,生成如下文件目錄:
(3)生成文件目錄后筋现,使用 cnpm 安裝依賴:
cnpm install
(4)最后需要執(zhí)行命令: npm run dev 來啟動項(xiàng)目唐础,啟動完成后會自動彈出默認(rèn)網(wǎng)頁:
到這一步,就算成功利用vue-cli搭建一個vue項(xiàng)目了矾飞,撒花 ~
3.目錄結(jié)構(gòu)及其對應(yīng)作用
通過vue-cli搭建一個vue項(xiàng)目一膨,會自動生成一系列文件,而這些文件具體是怎樣的結(jié)構(gòu)洒沦、文件對應(yīng)起什么作用豹绪,可以看看下面的解釋:
├── build/ # webpack 編譯任務(wù)配置文件: 開發(fā)環(huán)境與生產(chǎn)環(huán)境
│ └── ...
├── config/
│ ├── index.js # 項(xiàng)目核心配置
│ └── ...
├ ── node_module/ #項(xiàng)目中安裝的依賴模塊
── src/
│ ├── main.js # 程序入口文件
│ ├── App.vue # 程序入口vue組件
│ ├── components/ # 組件
│ │ └── ...
│ └── assets/ # 資源文件夾,一般放一些靜態(tài)資源文件
│ └── ...
├── static/ # 純靜態(tài)資源 (直接拷貝到dist/static/里面)
├── test/
│ └── unit/ # 單元測試
│ │ ├── specs/ # 測試規(guī)范
│ │ ├── index.js # 測試入口文件
│ │ └── karma.conf.js # 測試運(yùn)行配置文件
│ └── e2e/ # 端到端測試
│ │ ├── specs/ # 測試規(guī)范
│ │ ├── custom-assertions/ # 端到端測試自定義斷言
│ │ ├── runner.js # 運(yùn)行測試的腳本
│ │ └── nightwatch.conf.js # 運(yùn)行測試的配置文件
├── .babelrc # babel 配置文件
├── .editorconfig # 編輯配置文件
├── .gitignore # 用來過濾一些版本控制的文件微谓,比如node_modules文件夾
├── index.html # index.html 入口模板文件
└── package.json # 項(xiàng)目文件,記載著一些命令和依賴還有簡要的項(xiàng)目描述信息
└── README.md #介紹自己這個項(xiàng)目的输钩,可參照github上star多的項(xiàng)目豺型。
build/