webpack+vue構(gòu)建單頁(yè)面應(yīng)用項(xiàng)目(1)

前言:

構(gòu)建一個(gè)樣式簡(jiǎn)潔,邏輯功能簡(jiǎn)單的demo檐盟,來(lái)記錄項(xiàng)目構(gòu)建的步驟褂萧,一步步優(yōu)化,以鞏固自己的知識(shí)葵萎,也希望給新入門的同學(xué)們一點(diǎn)靈感导犹。因?yàn)樽髡咭彩侵徊锁B(niǎo),所以如果有人看到了這些文陌宿,發(fā)現(xiàn)錯(cuò)誤的觀點(diǎn)或者有更好的方法的都請(qǐng)告知作者锡足,大家相互學(xué)習(xí)!
  地址為demo的源代碼:https://github.com/Mavis-0211/vue-webpack-demo
  很重要的一點(diǎn)壳坪,要先裝node。附上傳送門:https://nodejs.org/en/download/


初步能想到的點(diǎn):
  1. 用vue-cli和webpack搭建項(xiàng)目模板掰烟。
  2. 在項(xiàng)目中引用sass和zepto爽蝴。
  3. 使用vue-router實(shí)現(xiàn)路由沐批,構(gòu)建單頁(yè)面。
  4. 抽取公共組件蝎亚。

一九孩、安裝淘寶源cnpm

npm是下載國(guó)外的包,大部分人網(wǎng)速都扛不住发框,所以我都是使用淘寶鏡像cnpm躺彬。
1.安裝:

npm install -g cnpm --registry=https://registry.npm.taobao.org

2.使用:
執(zhí)行 npm install ... 的時(shí)候,改用 cnpm install ...
附上官方文檔:https://npm.taobao.org/


二梅惯、搭建項(xiàng)目模板

1.全局安裝vue腳手架 — vue-cli

cnpm install -g vue-cli

2.選取目錄使用webpack

webpack的模板有"webpack"和"webpack-simple"宪拥,對(duì)于一般項(xiàng)目來(lái)說(shuō),"webpack-simple"已經(jīng)夠用了铣减。"webpack"配置較多她君,功能也更豐富。

vue init webpack basic-functions("basic-functions"為自己的項(xiàng)目名稱)
項(xiàng)目初始化.tmp.jpg

3.在本地運(yùn)行項(xiàng)目

cd basic-functions '(進(jìn)入項(xiàng)目文件夾)'
cnpm install '(下載依賴包)'
npm run dev '(啟動(dòng)項(xiàng)目葫哗,一定要在有package.json的當(dāng)前目錄運(yùn)行)'

在瀏覽器地址欄輸入:localhost:8080缔刹,可以看到以下頁(yè)面

項(xiàng)目運(yùn)行出現(xiàn)的首頁(yè)

三、文件結(jié)構(gòu)介紹
項(xiàng)目一級(jí)目錄
--- build '(webpack配置文件)'
--- config '(開(kāi)發(fā)及生產(chǎn)環(huán)境配置)'
--- nodele_modules '(npm install 現(xiàn)在下來(lái)的依賴包)'
--- src ('開(kāi)發(fā)目錄)'
    |--- assets '(資源文件夾-js劣针,vue校镐,img,css等)'
    |--- App.vue '(App.vue組件)'
    |--- main.js '(預(yù)編譯入口)'
--- static '(靜態(tài)資源文件)'
--- .babelrc '(babel配置文件)'
--- .gitignore '(git提交忽略規(guī)則')
--- index.html '(主頁(yè))'
--- package.json '(項(xiàng)目配置文件)'
--- README.md

四捺典、接入sass
  1. 安裝依賴
cnpm install sass-loader --save-dev
cnpm install node-sass --save-dev
  1. 驗(yàn)證
    新建一個(gè)scss文件灭翔,在App.vue的script中引用該scss文件。
<script>
    import './src/style/base.scss'
</script>

五辣苏、接入zepto

1.安裝依賴

cnpm install webpack-zepto --save-dev

2.webpack.dev.conf.js配置肝箱,在plugins中加入

new webpack.ProvidePlugin({
  $: "webpack-zepto",
  Zepto: "webpack-zepto",
  "window.Zepto": "webpack-zepto"
})

ps:webpack.prod.conf.js中也要配置,保證打包出來(lái)的配置正確

3.驗(yàn)證

(./App.vue)
export default {
     mounted:function() {
       console.log($('img').length)
     }
}

六稀蟋、路由vue-router進(jìn)行頁(yè)面跳轉(zhuǎn)
(./App.vue)
<template>
  <div id="wrapper">
    <nav>
      <router-link to="/home">home</router-link>
      <router-link to="/user">user</router-link>
    </nav>
    <router-view></router-view>
  </div>
</template>

<script>
  import 'src/style/style.scss'
</script>
(./components/Home.vue)
<template>
    <p class="content">This is Home</p>
</template>
(./components/User.vue)
<template>
    <p class="content">This is User</p>
</template>
(./main.js)
import Vue from 'vue'
import App from './App'

import VueRouter from 'vue-router'
Vue.use(VueRouter)

import './style/reset.scss'

import Home from './components/Home.vue'
import User from './components/User.vue'

const routes = [
  {
    path: '/home',
    component: Home
  },
  {
    path: '/user',
    component: User
  }
]

const router = new VueRouter({
  routes
})

const app = new Vue({
  router,
  render: h => h(App)
}).$mount('#app')
home page
user page

至此煌张,一個(gè)最簡(jiǎn)單的demo已經(jīng)完成。智商問(wèn)題嗎退客,作者覺(jué)得webpack好多配置不知道什么作用~( TロT)σ

下篇預(yù)告

對(duì)這個(gè)demo進(jìn)行一些優(yōu)化

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末骏融,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子萌狂,更是在濱河造成了極大的恐慌档玻,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,036評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件茫藏,死亡現(xiàn)場(chǎng)離奇詭異误趴,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)务傲,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,046評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門凉当,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)枣申,“玉大人,你說(shuō)我怎么就攤上這事看杭≈姨伲” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 164,411評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵楼雹,是天一觀的道長(zhǎng)模孩。 經(jīng)常有香客問(wèn)我,道長(zhǎng)贮缅,這世上最難降的妖魔是什么榨咐? 我笑而不...
    開(kāi)封第一講書人閱讀 58,622評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮携悯,結(jié)果婚禮上祭芦,老公的妹妹穿的比我還像新娘。我一直安慰自己憔鬼,他們只是感情好龟劲,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,661評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著轴或,像睡著了一般昌跌。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上照雁,一...
    開(kāi)封第一講書人閱讀 51,521評(píng)論 1 304
  • 那天蚕愤,我揣著相機(jī)與錄音,去河邊找鬼饺蚊。 笑死萍诱,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的污呼。 我是一名探鬼主播裕坊,決...
    沈念sama閱讀 40,288評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼燕酷!你這毒婦竟也來(lái)了籍凝?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 39,200評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤苗缩,失蹤者是張志新(化名)和其女友劉穎饵蒂,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體酱讶,經(jīng)...
    沈念sama閱讀 45,644評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡退盯,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,837評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片得问。...
    茶點(diǎn)故事閱讀 39,953評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡囤攀,死狀恐怖软免,靈堂內(nèi)的尸體忽然破棺而出宫纬,到底是詐尸還是另有隱情,我是刑警寧澤膏萧,帶...
    沈念sama閱讀 35,673評(píng)論 5 346
  • 正文 年R本政府宣布漓骚,位于F島的核電站,受9級(jí)特大地震影響榛泛,放射性物質(zhì)發(fā)生泄漏蝌蹂。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,281評(píng)論 3 329
  • 文/蒙蒙 一曹锨、第九天 我趴在偏房一處隱蔽的房頂上張望孤个。 院中可真熱鬧,春花似錦沛简、人聲如沸齐鲤。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,889評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)给郊。三九已至,卻和暖如春捧灰,著一層夾襖步出監(jiān)牢的瞬間淆九,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,011評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工毛俏, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留斟览,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,119評(píng)論 3 370
  • 正文 我出身青樓光督,卻偏偏與公主長(zhǎng)得像识埋,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子唧席,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,901評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 一 “0744525號(hào)護(hù)士小姐擦盾,請(qǐng)你詳細(xì)記錄3638423號(hào)的死亡時(shí)間,請(qǐng)務(wù)必精確到無(wú)法更精確淌哟〖B” 病房的廣播里向...
    張海帶閱讀 432評(píng)論 1 3
  • 沈華立,天貝車業(yè)徒仓,盛和塾224期學(xué)員腐碱,【日精打卡第69天】 《六項(xiàng)精進(jìn)》2遍共156遍 《大學(xué)》2遍共156遍 《...
    沈華立閱讀 302評(píng)論 0 0
  • 道本無(wú)話可說(shuō),一切皆當(dāng)全力以赴! 我開(kāi)口必須是利三方症见!否則就是站在“我”的單一角度喂走,應(yīng)當(dāng)閉嘴! 感恩一秒老師白天的...
    萍空間閱讀 151評(píng)論 0 0