這篇文章主要介紹了vue2-webpack2框架搭建的方法,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
創(chuàng)新互聯(lián)"三網(wǎng)合一"的企業(yè)建站思路。企業(yè)可建設(shè)擁有電腦版、微信版、手機(jī)版的企業(yè)網(wǎng)站。實(shí)現(xiàn)跨屏營(yíng)銷,產(chǎn)品發(fā)布一步更新,電腦網(wǎng)絡(luò)+移動(dòng)網(wǎng)絡(luò)一網(wǎng)打盡,滿足企業(yè)的營(yíng)銷需求!創(chuàng)新互聯(lián)具備承接各種類型的成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、外貿(mào)網(wǎng)站建設(shè)項(xiàng)目的能力。經(jīng)過(guò)十載的努力的開(kāi)拓,為不同行業(yè)的企事業(yè)單位提供了優(yōu)質(zhì)的服務(wù),并獲得了客戶的一致好評(píng)。
react、vue、angular代表了3種前端工程化的思想,學(xué)習(xí)三大框架主要是理解它們的核心概念,比如組件、生命周期、單向數(shù)據(jù)流、雙向綁定等。這些概念在非框架開(kāi)發(fā)中,很少人會(huì)去這樣系統(tǒng)化的思考,對(duì)于新手來(lái)說(shuō),很多概念都沒(méi)有接觸過(guò),不知道從何入手一個(gè)react、vue或者是angular項(xiàng)目,下面我將會(huì)從零搭建vue項(xiàng)目,邊做項(xiàng)目邊學(xué)習(xí)vue的思想。
1、想要使用vue,我首先該怎么做?
想要學(xué)習(xí)vue,我第一件事是去vue官網(wǎng)看簡(jiǎn)介:https://cn.vuejs.org/v2/guide... ,仔細(xì)一看,vue現(xiàn)在有1.X和2.X的區(qū)別,很好,我果斷選擇2.X。
選中了vue版本,我上知乎搜索了vue框架搭建的方式,看了前輩的各種分享,了解到一個(gè)叫做 cooking 的好玩意,好在哪里?
cooking 的目標(biāo)是將你從繁瑣的構(gòu)建配置中解放出來(lái),同時(shí)還省去每個(gè)項(xiàng)目都要安裝一堆開(kāi)發(fā)依賴的麻煩。基于 webapck 但更友好的配置項(xiàng)、易用的擴(kuò)展配置機(jī)制,讓你專注項(xiàng)目忘掉配置。
哇,看到cooking官網(wǎng)介紹的這么好,我果斷按照它的教程去做,瞎搞了一下下,發(fā)現(xiàn)用的不爽啊,一鍵配置環(huán)境看起來(lái)很高大上,可是還得去學(xué)習(xí)cooking的使用,而且本地得安裝cooking,搞得我頭暈,雖然在瀏覽器成功訪問(wèn)到了網(wǎng)頁(yè),但我還是放棄了這個(gè)好玩意。
這時(shí)候只能自己從0開(kāi)始搭建項(xiàng)目了。
2、在github新建vue2-web項(xiàng)目。
打開(kāi)github首頁(yè),點(diǎn)擊start a project。
接著你會(huì)看到Create a new repository,需要你填寫項(xiàng)目信息,這個(gè)步驟跳過(guò)。
然后項(xiàng)目就建好了,clone到本地。
3、初始化npm
用shell或者cmd進(jìn)入項(xiàng)目根目錄,執(zhí)行下面的命令,選項(xiàng)什么的直接跳過(guò),最后會(huì)生成package.json文件。
npm init
4、安裝webpack
沒(méi)有webpack就活不下去的感覺(jué),但是配置webpack也會(huì)讓人活不下去,太難記住webpack的配置項(xiàng)了,不過(guò)別擔(dān)心,我已經(jīng)幫你搞定這一步了,咋們都必須使用webpack2啊。
npm install --save-dev webpack
還需要前端服務(wù)器,做熱更新呀,webpack-dev-server登場(chǎng)。
npm install --save-dev webpack-dev-server
5、創(chuàng)建webpack.config.js文件
和react中的webpack配置文件沒(méi)什么區(qū)別,只是稍微改動(dòng)一個(gè)地方即可移植過(guò)來(lái)使用。
千萬(wàn)不要把js和vue放到一起,不起作用的,必須分開(kāi),必須,這個(gè)坑我已經(jīng)踩過(guò)了,為了找這個(gè)坑,浪費(fèi)了我好幾個(gè)小時(shí),最最最隱蔽的一個(gè)地方。
rules: [{ test: /\.js$/, use: ['babel-loader'], exclude: /node_modules/, include: resolve('src') },{ test: /\.vue$/, use: ['vue-loader'], exclude: /node_modules/, include: resolve('src') },
6、創(chuàng)建.babelrc文件。
babel少不了,注意這里不是用react了,而是vue,包括下面幾個(gè)插件,flow-vue、transform-vue-jsx。
{ "presets": ["es2015", "flow-vue", "stage-0", "stage-2"], "plugins": ["transform-vue-jsx"], "comments": false, "env": { "production": { "plugins": [ ["transform-runtime", { "polyfill": false, "regenerator": false }] ] } } }
7、在package.json添加start命令
直接使用webpack-dev-server啟動(dòng),哇塞,一堆報(bào)錯(cuò),說(shuō)少了哪個(gè)module,這個(gè)簡(jiǎn)單,因?yàn)榕渲梦募锩嬉玫囊欢裮odule,還沒(méi)有安裝到項(xiàng)目呢,這時(shí)候一個(gè)個(gè)安裝好就行了。
"start": "webpack-dev-server",
8、項(xiàng)目入口main.js文件。
這個(gè)文件名自己喜歡咋取就咋取,代碼挺簡(jiǎn)單的,實(shí)例化一個(gè)Vue和路由,是不是和react的入口文件很像?當(dāng)然,我做的是SPA,所以采用單入口的形式,如果是非SPA模式,就不是這種配置方式了。
import Vue from 'vue'; import App from './App.vue'; import VueRouter from 'vue-router'; import routes from './routes'; import VueResource from 'vue-resource'; Vue.use(VueResource); //http請(qǐng)求注冊(cè) Vue.use(VueRouter); //路由注冊(cè) // 實(shí)例化路由 const router = new VueRouter({ // mode: 'history', //H5 路由模式,需要服務(wù)端做渲染防止404錯(cuò)誤 base: __dirname, linkActiveClass: 'on', routes }) let render = new Vue({ router, el: '#app', render: h => h(App) }); render; // if (module.hot) { // 非必須 // module.hot.accept('./App.vue', () => render); // }
9、路由routes.js
路由和react也非常像(簡(jiǎn)直一樣好不),這里的vue頁(yè)面采用.vue后綴的方式來(lái)寫。
import Home from './components/home/Home.vue'; import Bang from './components/bang/Bang.vue'; export default [ { path: '/', redirect: 'home' }, { path: '/home', component: Home }, { path: '/bang', component: Bang } ]
10、單頁(yè)頂層容器App.vue
從index進(jìn)來(lái),就是這個(gè)文件,現(xiàn)在開(kāi)始學(xué)習(xí)vue的精華。
template:vue的模板語(yǔ)言,也叫作jsx。
transition:過(guò)渡動(dòng)畫。
router-view:路由顯示容器,通過(guò)router-link跳轉(zhuǎn)加載的.vue會(huì)在這個(gè)容器渲染。router-link被我封裝到nav.vue組件里面了。
script:導(dǎo)入了當(dāng)前頂級(jí)容器需要用到的vue組件,包括頭部、導(dǎo)航、首頁(yè)。還有更多豐富的設(shè)置我沒(méi)有研究,后續(xù)的學(xué)習(xí)中會(huì)深入下去。
style: 當(dāng)前組件的樣式,我配置了less語(yǔ)法支持。將style改成<style lang="less">即可寫less。
<template> <div> <app-header logo="logo" ></app-header> <app-nav></app-nav> <transition name="fade" mode="out-in"> <router-view class="view"></router-view> </transition> </div> </template> <script> import Header from './components/common/Header.vue'; import Nav from './components/common/Nav.vue'; import Home from './components/home/Home.vue'; export default { name: 'App', components: { "app-header": Header, "app-nav": Nav, "app-home": Home } }; </script> <style> body, html { font-size: 12px; margin: 0; padding: 0; } </style>
踩坑的過(guò)程中,也遇到了好幾個(gè)報(bào)錯(cuò)情況,最后都圓滿解決了。
如果你想看更詳細(xì)的vue組件代碼,可以看具體項(xiàng)目:https://github.com/hyy1115/vu...
接下來(lái)我會(huì)繼續(xù)完善該項(xiàng)目,探究一個(gè)更加靈活的vue架構(gòu)實(shí)現(xiàn)。
運(yùn)行效果圖:vue-酷我demo
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“vue2-webpack2框架搭建的方法”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!
分享標(biāo)題:vue2-webpack2框架搭建的方法
文章出自:http://chinadenli.net/article34/giedpe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、品牌網(wǎng)站設(shè)計(jì)、關(guān)鍵詞優(yōu)化、App開(kāi)發(fā)、網(wǎng)站導(dǎo)航、搜索引擎優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)