上一篇博文,我們搭建了一套基礎的vuejs的環境,首先安裝node.js,然后利用npm包管理器,安裝vue-cli,設置淘寶鏡像,初始化項目,安裝依賴,運行。在這一篇,我們將認識vuejs項目里的各個目錄結構。
基礎項目目錄
build // 編譯配置文件,一般不用管 |-build.js |-check-versions.js |-logo.png |-utils.js |-vue-loader.conf.js |-webpack.base.conf.js |-webpack.dev.conf.js |-webpack.prod.conf.js |-webpack.test.conf.js config // 項目基本設置文件夾 |-dev.env.js // 開發配置文件 |-index.js // 配置主文件 |-prod.env.js // 編譯配置文件 node_modules // 項目依賴包文件夾 src // 我們的項目的源碼編寫文件 |-assets // 初始項目資源目錄,回頭刪掉 |-components // 組件目錄 |-HelloWorld.vue // 測試組件 |-router // 路由配置文件夾 |-index.js // 路由配置文件 |-App.vue // APP入口文件 |-main.js // 主配置文件 static // 資源放置目錄 index.html // 項目入口文件 package.json // 項目依賴包配置文件
上面就是vuejs項目初始化后的目錄結構,我們一般情況下,只需要關注src和static資源目錄就可以了,其它目錄大多都是一些配置信息,不需要太費精力的關注。
配置SRC目錄
src |-api // 接口調用工具文件夾 |-index.js // 接口調用工具 |-components // 組件文件夾,目前為空 |-config // 項目配置文件夾 |-index.js // 項目配置文件 |-frame // 子路由文件夾 |-frame.vue // 默認子路由文件 |-pages // 我們的頁面組件文件夾 |-Index.vue |-Content.vue |-router // 路由配置文件夾 |-index.js // 路由配置文件 |-style // scss 樣式存放目錄 |-base // 基礎樣式存放目錄 |-scss // 頁面樣式文件夾 |-style.scss // 主樣式文件 |-utils // 常用工具文件夾 |-App.vue // APP入口文件 |-main.js // 項目配置文件
將目錄結構按上面的層級配置完成后,不要着急運行項目,這個時候由於刪除了一些文件夾,項目是跑不起來的。
配置staitc資源目錄
static |-css // 放一些第三方的樣式文件 |-font // 放字體圖標文件 |-images // 放圖片文件,如果是復雜項目,可以在這里面再分門別類 |-js // 放一些第三方的JS文件,如 jquery
對於一些不經常修改變動的css和js咱們統一放到static目錄里,因為在src里面的文件,將來每次打包時都會對其進行打包,而文件特別多的情況下,打包會變的特別慢。
調整App.vue
上面我們進行的是一些目錄結構的設置,現在我們對文件進行修改配置,使項目重新運行起來。首先將App.vue調整成如下代碼:
<template> <div id="app"> <router-view></router-view> </div> </template> <script> export default { name: 'app' } </script> <style lang="scss"> @import "./style/style"; <!--在這里我們直接導入主樣式文件--> </style>
注意上面使用了lang="scss",這是因為我們使用了 scss 文件預編譯,所以我們要安裝scss的npm包。
cnpm install sass-loader -D cnpm install node-sass -D
調整Index.vue和Content.vue
src/pages/Index.vue
<template> <div>index page</div> </template>
src/pages/Content.vue
<template> <div>content page</div> </template>
暫時先寫如上代碼,后面會對上面代碼進行講解和豐富。
調整 router 路由文件
打開src/router/index.js,目前文件是這樣的,也是默認的,我們並沒有做過任何修改。
import Vue from 'vue' import Router from 'vue-router' import HelloWorld from '@/components/HelloWorld' Vue.use(Router) export default new Router({ routes: [ { path: '/', name: 'HelloWorld', component: HelloWorld } ] })
調整為如下代碼:
import Vue from 'vue' import Router from 'vue-router' import Index from '@/pages/Index' import Content from '@/pages/Content' Vue.use(Router) export default new Router({ routes: [ { path: '/', component: Index }, { path: '/Content/:id', component: Content } ] })
上面的/就是默認的意思,這里默認顯示我們的Index.vue,而大家可能會對Content/:id有疑問,因為咱們做的是一個列表,然后點擊列表中具體的某一條,就進入到了內容頁面。而:id就是vuejs路由的動態路由配置。我們用id來區分顯示不同的內容。
上些工作做完, 我們的項目就基本配置好了,這個時候來啟動我們的項目
cnpm run dev
當出現上圖,則表示啟動成功,如果有ERROR則表示失敗,請仔細檢查上面的各個文件的內容是否書寫有錯。啟動成功我們打開瀏覽器,輸入http://localhost:8080,如果看到以下界面,則說明和我的項目是一樣的。
本篇文章大部分內容摘抄至FungLeo博客,忠心感謝FungLeo,是你們無私的奉獻,才讓我們有了學習的參考,以下是地址:
http://blog.csdn.net/FungLeo/article/details/77585205