最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue 系列——vue2-webpack2框架搭建踩坑之路

 更新時(shí)間:2017年12月22日 14:34:37   投稿:mrr  
本文從零搭建vue項(xiàng)目,給大家分享了我的vue2-webpack2框架搭建踩坑之路,需要的朋友可以參考下

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)畫(huà)。

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

總結(jié)

以上所述是小編給大家介紹的vue 系列——vue2-webpack2框架搭建踩坑之路,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家的支持!

相關(guān)文章

  • Vue通過(guò)echarts實(shí)現(xiàn)數(shù)據(jù)圖表化顯示

    Vue通過(guò)echarts實(shí)現(xiàn)數(shù)據(jù)圖表化顯示

    Echarts,它是一個(gè)與框架無(wú)關(guān)的 JS 圖表庫(kù),但是它基于Js,這樣很多框架都能使用它,例如Vue,估計(jì)IONIC也能用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • vue cli4.0 如何配置環(huán)境變量

    vue cli4.0 如何配置環(huán)境變量

    這篇文章主要介紹了vue cli4.0 如何配置環(huán)境變量,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • vue組件傳值的實(shí)現(xiàn)方式小結(jié)【三種方式】

    vue組件傳值的實(shí)現(xiàn)方式小結(jié)【三種方式】

    這篇文章主要介紹了vue組件傳值的實(shí)現(xiàn)方式,結(jié)合實(shí)例形式總結(jié)分析了vue.js組建傳值的三種實(shí)現(xiàn)方式,包括父?jìng)髯印⒆觽鞲讣胺歉缸觽髦?需要的朋友可以參考下
    2020-02-02
  • vue改變循環(huán)遍歷后的數(shù)據(jù)實(shí)例

    vue改變循環(huán)遍歷后的數(shù)據(jù)實(shí)例

    今天小編就為大家分享一篇vue改變循環(huán)遍歷后的數(shù)據(jù)實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-11-11
  • vue遞歸組件實(shí)戰(zhàn)之簡(jiǎn)單樹(shù)形控件實(shí)例代碼

    vue遞歸組件實(shí)戰(zhàn)之簡(jiǎn)單樹(shù)形控件實(shí)例代碼

    這篇文章主要介紹了vue遞歸組件實(shí)戰(zhàn)之簡(jiǎn)單樹(shù)形控件的實(shí)例代碼,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-08-08
  • vue-router history模式下的微信分享小結(jié)

    vue-router history模式下的微信分享小結(jié)

    本篇文章主要介紹了vue-router history模式下的微信分享小結(jié),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07
  • vue+element?upload上傳帶參數(shù)的實(shí)例

    vue+element?upload上傳帶參數(shù)的實(shí)例

    這篇文章主要介紹了vue+element?upload上傳帶參數(shù)的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • Vue實(shí)現(xiàn)半自動(dòng)打字機(jī)特效

    Vue實(shí)現(xiàn)半自動(dòng)打字機(jī)特效

    本文主要介紹了Vue實(shí)現(xiàn)半自動(dòng)打字機(jī)特效,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-12-12
  • Vue如何實(shí)現(xiàn)監(jiān)聽(tīng)組件原生事件

    Vue如何實(shí)現(xiàn)監(jiān)聽(tīng)組件原生事件

    這篇文章主要介紹了Vue如何實(shí)現(xiàn)監(jiān)聽(tīng)組件原生事件,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07
  • vue中如何修改props傳進(jìn)來(lái)的值

    vue中如何修改props傳進(jìn)來(lái)的值

    大家應(yīng)該都知道vue是單向數(shù)據(jù)流,一般我們也不會(huì)在子組件里面修改父組件傳進(jìn)來(lái)的值,但總有需要修改的時(shí)候,這篇文章主要介紹了vue中修改props傳進(jìn)來(lái)的值,需要的朋友可以參考下
    2022-12-12

最新評(píng)論

武川县| 阳朔县| 韶关市| 航空| 碌曲县| 吴堡县| 泸州市| 凤山县| 遵义市| 黎川县| 乌审旗| 东方市| 龙游县| 左权县| 林周县| 南漳县| 德惠市| 临高县| 平陆县| 金湖县| 美姑县| 长岭县| 雅安市| 唐海县| 日照市| 永寿县| 晋城| 罗山县| 临夏市| 泗洪县| 纳雍县| 靖安县| 年辖:市辖区| 民勤县| 新巴尔虎右旗| 楚雄市| 察哈| 龙南县| 青神县| 博湖县| 油尖旺区|