day05 Vue.js工程化項目起步

使用vue-ci配合wekpack創(chuàng)建目錄

  • 使用命令行進入某個磁盤目錄如E:\VueStudy
  • 輸入vue init webpack vue-router-demo創(chuàng)建目錄
  • 進入vue-router-demo目錄輸入npm install安裝依賴
  • 修改config目錄下index.js的dev端口為80
  • 輸入npm run dev運行項目,打開http://localhost掂铐,看到Vue主頁logo即成功
  • ctrl+c退出批處理狀態(tài)

-##### 在package.json的依賴文件罕拂,加入axios依賴

"dependencies": {
    "vue": "^2.5.2",
    "vue-router": "^3.0.1",
    "axios": "^0.18.0"
  }

  • 在命令行輸入npm install安裝axios依賴(每次添加依賴都需輸入命令,否則依賴無效)
  • main.js文件引入axios
import Vue from 'vue'
import App from './App'
import router from './router'
import axios from 'axios'

Vue.config.productionTip = false
Vue.prototype.$http = axios

/* eslint-disable no-new */
new Vue({
  el: '#app',
  router,
  components: { App },
  template: '<App/>'
})

  • components目錄中創(chuàng)建一些vue組件全陨,如圖
image
  • 配置路由爆班,router目錄的index.js文件
import Vue from 'vue'
import Router from 'vue-router'

Vue.use(Router)

export default new Router({
    // 去除#的hash模式
    mode: "history",
    routes: [
        {
            //我的班課
            path: '/',
            name: 'Index',
            component: resolve => require(['../components/Index.vue'], resolve)
        },
        {
            //任務(wù)中心
            path: '/task',
            name: 'Task',
            component: resolve => require(['../components/Task.vue'], resolve)
        },
        {
            //庫管理
            path: '/lib',
            name: 'Lib',
            component: resolve => require(['../components/Lib.vue'], resolve)
        },
        {
            //個人中心
            path: '/ucenter',
            name: 'UCenter',
            component: resolve => require(['../components/UCenter.vue'], resolve)
        },
        {
            //新建班課
            path: '/new_course',
            name: 'NewCourse',
            component: resolve => require(['../components/NewCourse.vue'], resolve)
        },
        {
            //班課詳情
            path: '/course/:id',
            name: 'CourseDetail',
            component: resolve => require(['../components/CourseDetail.vue'], resolve)
        }
    ]
})

  • 路由跳轉(zhuǎn)例子:

無參跳轉(zhuǎn)

<router-link to="/">
    <img src="./assets/logo.png" class="logo"/>
</router-link>
<router-link to="/task" class="nav-item">任務(wù)中心</router-link>

路徑傳參跳轉(zhuǎn):

<router-link :to="'/course/' + course.courseId">
    <img :src="course.cover" />
</router-link>

js跳轉(zhuǎn):

_this.$router.push('/');

  • GET請求示例
var _this = this;
        this.$http.get('http://localhost:8080/api/courses').then(function(response) {
            _this.courses = response.data;
});

<script>
export default {
    name: 'CourseDetail',
    data() {
        return {
            id: this.$route.params.id,
            course: {}
        };
    },
    created() {
        var _this = this;
        this.$http.get('http://localhost:8080/api/course/' + this.id).then(function(response) {
            _this.course = response.data;
        });
    }
};
</script>

  • POST請求示例
<script>
export default {
    name: 'NewCourse',
    data() {
        return {
            loginUserId: 1,
            course: {
                courseName: '',
                courseClass: '',
                cover: ''
            }
        };
    },
    methods: {
        addCourse: function(course) {
            var _this = this;
            this.$http({
                method: 'post',
                url: 'http://localhost:8080/api/course',
                data: {
                    userId: _this.loginUserId,
                    courseName: course.courseName,
                    courseClass: course.courseClass,
                    cover: course.cover,
                    finished: 0
                }
            }).then(function() {
                alert('新增班課成功');
                _this.$router.push('/');
            });
        }
    }
};
</script>

  • DELETE請求示例
deleteCourse: function(courseId,index) {
            var _this = this;
            this.$http({
                method: 'delete',
                url: 'http://localhost:8080/api/course/' + courseId
            }).then(function() {
                alert('班課刪除成功');
                 _this.courses.splice(index,1);
            });
        }

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市烤镐,隨后出現(xiàn)的幾起案子蛋济,更是在濱河造成了極大的恐慌棍鳖,老刑警劉巖炮叶,帶你破解...
    沈念sama閱讀 221,635評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異渡处,居然都是意外死亡镜悉,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,543評論 3 399
  • 文/潘曉璐 我一進店門医瘫,熙熙樓的掌柜王于貴愁眉苦臉地迎上來侣肄,“玉大人,你說我怎么就攤上這事醇份〖诠” “怎么了吼具?”我有些...
    開封第一講書人閱讀 168,083評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長矩距。 經(jīng)常有香客問我拗盒,道長,這世上最難降的妖魔是什么锥债? 我笑而不...
    開封第一講書人閱讀 59,640評論 1 296
  • 正文 為了忘掉前任陡蝇,我火速辦了婚禮,結(jié)果婚禮上哮肚,老公的妹妹穿的比我還像新娘登夫。我一直安慰自己,他們只是感情好允趟,可當(dāng)我...
    茶點故事閱讀 68,640評論 6 397
  • 文/花漫 我一把揭開白布恼策。 她就那樣靜靜地躺著,像睡著了一般潮剪。 火紅的嫁衣襯著肌膚如雪戏蔑。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,262評論 1 308
  • 那天鲁纠,我揣著相機與錄音总棵,去河邊找鬼。 笑死改含,一個胖子當(dāng)著我的面吹牛情龄,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播捍壤,決...
    沈念sama閱讀 40,833評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼骤视,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了鹃觉?” 一聲冷哼從身側(cè)響起专酗,我...
    開封第一講書人閱讀 39,736評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎盗扇,沒想到半個月后祷肯,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,280評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡疗隶,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,369評論 3 340
  • 正文 我和宋清朗相戀三年佑笋,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片斑鼻。...
    茶點故事閱讀 40,503評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡蒋纬,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情蜀备,我是刑警寧澤关摇,帶...
    沈念sama閱讀 36,185評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站碾阁,受9級特大地震影響拒垃,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜瓷蛙,卻給世界環(huán)境...
    茶點故事閱讀 41,870評論 3 333
  • 文/蒙蒙 一悼瓮、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧艰猬,春花似錦横堡、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,340評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至食听,卻和暖如春胸蛛,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背樱报。 一陣腳步聲響...
    開封第一講書人閱讀 33,460評論 1 272
  • 我被黑心中介騙來泰國打工葬项, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人迹蛤。 一個月前我還...
    沈念sama閱讀 48,909評論 3 376
  • 正文 我出身青樓民珍,卻偏偏與公主長得像,于是被迫代替她去往敵國和親盗飒。 傳聞我的和親對象是個殘疾皇子嚷量,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,512評論 2 359

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

  • ## 框架和庫的區(qū)別?> 框架(framework):一套完整的軟件設(shè)計架構(gòu)和**解決方案**。> > 庫(lib...
    Rui_bdad閱讀 2,917評論 1 4
  • 本例主要采用vue-cli配合webpack來創(chuàng)建項目逆趣,采用了VueRouter蝶溶,引入axios庫調(diào)用后端API,...
    陶然然_niit閱讀 839評論 0 6
  • 33宣渗、JS中的本地存儲 把一些信息存儲在當(dāng)前瀏覽器指定域下的某一個地方(存儲到物理硬盤中)1抖所、不能跨瀏覽器傳輸:在...
    萌妹撒閱讀 2,085評論 0 2
  • 本例主要采用 vue-cli 配合 webpack 來創(chuàng)建項目,采用了 VueRouter 落包,引入 axios 庫...
    yu_liu閱讀 834評論 0 0
  • element-ui 文檔 Vue項目接口文檔地址 博客 session 和 cookie等 學(xué)什么部蛇? 1 如何使...
    cj_jax閱讀 3,950評論 0 10