問(wèn)題一:構(gòu)建的 vue-cli 工程都到了哪些技術(shù),它們的作用分別是什么?
1、vue.js:vue-cli工程的核心,主要特點(diǎn)是?雙向數(shù)據(jù)綁定?和?組件系統(tǒng)。
2、vue-router:vue官方推薦使用的路由框架。
3、vuex:專(zhuān)為 Vue.js 應(yīng)用項(xiàng)目開(kāi)發(fā)的狀態(tài)管理器,主要用于維護(hù)vue組件間共用的一些 變量 和 方法。
4、axios( 或者 fetch 、ajax ):用于發(fā)起 GET 、或 POST 等 http請(qǐng)求,基于 Promise 設(shè)計(jì)。
5、vux等:一個(gè)專(zhuān)為vue設(shè)計(jì)的移動(dòng)端UI組件庫(kù)。
6、創(chuàng)建一個(gè)emit.js文件,用于vue事件機(jī)制的管理。
7、webpack:模塊加載和vue-cli工程打包器。
問(wèn)題二:vue-cli 工程常用的 npm 命令有哪些?
下載 node_modules 資源包的命令:
npm install
啟動(dòng) vue-cli 開(kāi)發(fā)環(huán)境的 npm命令:
npm run dev
vue-cli 生成 生產(chǎn)環(huán)境部署資源 的 npm命令:
npm run build
用于查看 vue-cli 生產(chǎn)環(huán)境部署資源文件大小的 npm命令:
npm run build--report
vue-cli目錄結(jié)構(gòu):
vue-cli目錄解析:
build 文件夾:用于存放 webpack 相關(guān)配置和腳本。開(kāi)發(fā)中僅 偶爾使用 到此文件夾下?webpack.base.conf.js?用于配置 less、sass等css預(yù)編譯庫(kù),或者配置一下 UI 庫(kù)。
config 文件夾:主要存放配置文件,用于區(qū)分開(kāi)發(fā)環(huán)境、線(xiàn)上環(huán)境的不同。 常用到此文件夾下?config.js?配置開(kāi)發(fā)環(huán)境的 端口號(hào)、是否開(kāi)啟熱加載 或者 設(shè)置生產(chǎn)環(huán)境的靜態(tài)資源相對(duì)路徑、是否開(kāi)啟gzip壓縮、npm run build 命令打包生成靜態(tài)資源的名稱(chēng)和路徑等。
dist 文件夾:默認(rèn) npm run build 命令打包生成的靜態(tài)資源文件,用于生產(chǎn)部署。
node_modules:存放npm命令下載的開(kāi)發(fā)環(huán)境和生產(chǎn)環(huán)境的依賴(lài)包。
src: 存放項(xiàng)目源碼及需要引用的資源文件。
src下assets:存放項(xiàng)目中需要用到的資源文件,css、js、images等。
src下componets:存放vue開(kāi)發(fā)中一些公共組件:header.vue、footer.vue等。
src下emit:自己配置的vue集中式事件管理機(jī)制。
src下router:vue-router vue路由的配置文件。
src下service:自己配置的vue請(qǐng)求后臺(tái)接口方法。
src下page:存在vue頁(yè)面組件的文件夾。
src下util:存放vue開(kāi)發(fā)過(guò)程中一些公共的.js方法。
src下vuex:存放 vuex 為vue專(zhuān)門(mén)開(kāi)發(fā)的狀態(tài)管理器。
src下app.vue:使用標(biāo)簽<route-view></router-view>渲染整個(gè)工程的.vue組件。
src下main.js:vue-cli工程的入口文件。
index.html:設(shè)置項(xiàng)目的一些meta頭信息和提供<div id="app"></div>用于掛載 vue 節(jié)點(diǎn)。
package.json:用于 node_modules資源部 和 啟動(dòng)、打包項(xiàng)目的 npm 命令管理。
問(wèn)題二:config文件夾 下 index.js 的對(duì)于工程 開(kāi)發(fā)環(huán)境 和 生產(chǎn)環(huán)境 的配置
build?對(duì)象下 對(duì)于 生產(chǎn)環(huán)境 的配置:
index:配置打包后入口.html文件的名稱(chēng)以及文件夾名稱(chēng)
assetsRoot:配置打包后生成的文件名稱(chēng)和路徑
assetsPublicPath:配置 打包后 .html 引用靜態(tài)資源的路徑,一般要設(shè)置成 "./"
productionGzip:是否開(kāi)發(fā) gzip 壓縮,以提升加載速度
dev?對(duì)象下 對(duì)于 開(kāi)發(fā)環(huán)境 的配置:
port:設(shè)置端口號(hào)
autoOpenBrowser:?jiǎn)?dòng)工程時(shí),自動(dòng)打開(kāi)瀏覽器
proxyTable:vue設(shè)置的代理,用以解決 跨域 問(wèn)題
問(wèn)題三:請(qǐng)你詳細(xì)介紹一些 package.json 里面的配置
常用對(duì)象解析:
scripts:npm run xxx 命令調(diào)用node執(zhí)行的 .js 文件
dependencies:生產(chǎn)環(huán)境依賴(lài)包的名稱(chēng)和版本號(hào),即這些 依賴(lài)包 都會(huì)打包進(jìn) 生產(chǎn)環(huán)境的JS文件里面
devDependencies:開(kāi)發(fā)環(huán)境依賴(lài)包的名稱(chēng)和版本號(hào),即這些 依賴(lài)包 只用于 代碼開(kāi)發(fā) 的時(shí)候,不會(huì)打包進(jìn) 生產(chǎn)環(huán)境js文件 里面。