1. 程式人生 > >用Vue實現個人部落格的前端介面1

用Vue實現個人部落格的前端介面1

<!--原網頁: http://www.jianshu.com/p/aa46fbf198e2?open_source=weibo_search -->
學習如何使用vue-cli,去元件化的開發一個專案;以及如何使用路由vue-router,完成頁面之間的跳轉;還有vuex如何管理頁面之間需要互動的全域性資料;如何使用vue-resource跨域請求,node後臺又如何配置。

一. 使用的技術棧
後臺:nodejs + express + mongodb + mongoose
前端:vue + vue-router + vuex + vue-router
後臺是自己之前就寫過的一個基於nodejs的個人部落格的練習,當時是轉發頁面的形式,即將頁面和資料一同傳給瀏覽器,現在只是改成介面的形式,只發送資料,感興趣的同學可以去github下載:https://github.com/SpiritLiftedHigh/BlogAPI

二. 專案預覽
    略

三. 一些問題的解決
1 . 頁面靜態資源的配置:
(1)將圖片資源放在static資料夾中
一開始,覺得靜態資源都應該發在assets資料夾的,可是因為圖片的名字是存在伺服器端的,在渲染頁面時,圖 片的路徑需要使用字串拼接,發現如果將路徑寫成靜態的就會直接對映到static目錄下,可是如果是動態拼接的話,就不能成功對映。
(2)bootstrap的部署
因為bootstrap是完全依賴jQuery的,所以要使用bootstrap,就必須先下載並配置jQuery。如下:
開啟build/webpack.base.conf.js,新增如下配置:
plugins: [
   new webpack.optimize.CommonsChunkPlugin('common.js'),
   new webpack.ProvidePlugin({
     jQuery: "jquery",
     $: "jquery"
   })
  ],
將resolve改為入下的配置:
resolve: {
  extensions: ['.js', '.vue', '.json'],
  alias: {
  'vue$': 'vue/dist/vue.esm.js',
  '@': resolve('src'),
  'bootstrap':resolve('src/assets/bootstrap'),
  }
}
在main.js中直接匯入:
import './assets/bootstrap/css/bootstrap.min.css' 
import './assets/bootstrap/js/bootstrap.min.js'
2 . vuex的使用
首先下載,然後進入main.js檔案,並新增如下程式碼:
import Vuex from 'vuex'
Vue.use(Vuex)
const  vuex_store = new Vuex.Store({
    state:{
        totalmess: 0,  //未讀訊息總數,在footer公用元件
        title: '登入' //每個頁面的名稱,在nav公用元件中
    },
    mutations:{
        
    }
})
new Vue({
  el: '#app',
  router,
  template: '<App/>',
  components: { App },
  store: vuex_store  //注入vue例項中,這樣所有元件都可以獲取
})
在nav元件中的使用:
<div class="header"><span>{{this.$store.state.title}}</span></div>
在其他元件中的使用,比如訊息顯示頁面:
this.$store.state.title = '訊息';
這樣每個元件中的變化,都可以體現在nav公用元件中。
3 . 路由之間的跳轉和引數的傳遞,以及獲取
(1)路由的跳轉(在程式碼中動態跳轉):
this.$router.push({path: '/list'});
(2)通過連結跳轉時的傳參和獲取引數
路由的配置:
export default new Router({
  routes: [
    {
      path: '/blog/:id',
      name: 'blog',
      component: blog
    }
]
})
跳轉傳參:
<router-link :to="{path: '/blog/' + blog._id}"></router-link>
獲取引數:
let blogid = this.$route.params.id;
4 . vue-resource跨域請求,儲存session
在後臺配置好的情況下,必須要傳送cookie,不然後臺不能儲存session,所以在每次請求時都必須傳送cookie
this.$http.get(url, { 
    withCredentials: true  //開啟cookie
}).then( res => {
    //
}).catch( error => {
    //
})
後臺介面API:https://github.com/SpiritLiftedHigh/BlogAPI
前端vue實現:https://github.com/SpiritLiftedHigh/xiaojingBlog



相關推薦

Vue實現個人部落前端介面1

<!--原網頁: http://www.jianshu.com/p/aa46fbf198e2?open_source=weibo_search -->學習如何使用vue-cli,去元件化的開發一個專案;以及如何使用路由vue-router,完成頁面之間的跳轉;還有

vue實現個人部落專案【問題總結】

首先推薦一個個人認為不錯的課程吧(宣告,不是宣傳目的哦,本人秉持著好的東西就要分享出來讓更多的人知道,也希望真正的能夠幫到需要的朋友):https://ke.qq.com/course/279663 推薦原因:講的好是肯定的,主要的原因是因為我學習前端很久,(還在學習階段)

flask開發個人部落(28)—— 利用unittest進行單元測試

下面分析下這個webapp的單元測試模組test,請先看下目前test下的檔案結構:        目前__init__.py檔案還是空,請檢視test_basic.py的程式碼: import unittest from flask impor

記錄自己python搭建個人部落系統的完整過程(一)

零、前言 本博文記錄搭建個人部落格系統的完整過程,網上有許多相關的教程,但是沒找到一個(適合自己能力的)快速搭建的完整教程。藉此篇博文梳理一下前不久學習到的有關整個過程前前後後的各種知識點。 一、搭建環境 採用架構:python3.6 + django1.10 + ngi

flask開發個人部落(24)—— flask中使用Flask_Mail傳送電子郵件

        flask中使用Flask-Mail提供對電子郵件的支援,下面將分步驟測試flask中傳送電子郵件的功能: 1 配置SMTP伺服器的資訊         我們需要藉助flask程式例項app的config屬性來配置電子郵件的SMTP伺服器資訊,其中主要的配置

flask開發個人部落(10)—— Jinja2模板中的控制結構

一 引言         模板,就是認為建立的一套用來管理資料的規則.其實從程式設計的角度來說,我們所使用的程式語言也可以理解成為一種模板的語言,而對應的程式語言檔案就是模板檔案,如cpp,py,cs檔案等等.最近我們做專案,用word做了一套模板,也是類似.既然類似程式語

flask開發個人部落(8)—— flask中的模板

        一般而言,檢視函式中存在兩種邏輯,業務邏輯和表現邏輯。業務邏輯諸如我們在登入頁面時輸入使用者名稱和密碼後,點選確定按鈕時,在資料庫驗證該使用者名稱和密碼是否正確. 表現邏輯就是返回正確

flask開發個人部落(4)—— flask中4種全域性變數

一  current_app         current_app代表當前的flask程式例項,使用時需要flask的程式上下文啟用,我們以本專欄第一篇文章中寫的test.py為例介紹下它的用法: 1.1 啟用程式上下文 >>> from test i

基於Flask實現個人部落網站

一 專案需求      功能需求:基於Flask框架,實現個人部落格 ,包括主頁,文章列表頁,文章詳情頁二 專案核心流程 資料庫 函式和渲染 處理表單並跳轉 讀取資料和渲染 三 專案程式碼實現

flask開發個人部落(5)——flask中的四種響應型別

        在之前的程式碼中,檢視函式都返回了一個字串,在實際的開發中其返回的html檔案內容,本質其實也是字串。下面總結下flask中可以作為響應的幾種方法。 1、響應字串。         這個在前面已經說明過,但是需要指出的是,其實每次檢視函式在響應時還可以附帶狀

flask開發個人部落(6)—— 為flask程式新增命令列直譯器

一 引入Manager         使用flask的方便之處在於可以使用大量的擴充套件功能,如資料庫和使用者認證都是通過擴充套件功能實現。打算開啟flask時支援命令列選項,我們需要引入flask-script擴充套件。 from flask_script import

SpringBoot搭建個人部落01-----使用AOP統一處理Web請求日誌

摘要 AOP 是面向切面的程式設計,就是在執行期通過動態代理的方式對程式碼進行增強處理,比較核心的概念有 切點,切面,通知,有關AOP的詳情參考:。 本文要介紹的是在一個SpringBoot專案中如何統一的處理Web請求日誌,基本思想還是採用AOP的方式,攔截請

flask開發個人部落(40)—— Flask中三種測試方法

一、單元測試並統計測試的覆蓋率 1.1 Flask中的單元測試         在之前的文章中介紹過在flask中進行單元測試的方法,目前我們的程式碼中存在下面的單元測試: classBasicTestCase(unittest.TestCase): def Set

基於layui+asp.net mvc實現個人部落系統

功能如下: 後臺: 1.文章管理 2.分類管理 3.設定 4.日誌管理 前臺 1.顯示後臺釋出的文章資訊 2.評論功能 專案類圖: 放大檢視 ArticleController.cs using WuBlog.

laravel構建個人部落(一)

安裝laravel 安裝composer laravel使用composer管理依賴的類庫,首先要安裝composer。具體步驟見:https://getcomposer.org/download/ 。 下載laravel composer global

flask開發個人部落(36)—— 使用SQLAlchemy對部落文章進行分頁

        我們在瀏覽某個部落格網站時,如果部落格文章過多,往往都進行了分頁顯示,比如CSDN中個人部落格的首頁顯示。在flask中SQLAlchemy不但可以進行資料建模和資料查詢等等,由於其支援分頁查詢,我們還可以利用其對我們的文章進行分頁。 一、建立部落格資料模型

flask開發個人部落1)—— 一個簡單的flask程式

1、建立flask程式例項 from flask import Flask app=Flask(__name__)         Flask接受一個字串作為引數,這個引數決定程式的根目錄,以便於能找到相對於程式根目錄的資原始檔的位置,通常這種情況下都使用  __nam

Django學習(二)——實現個人部落網站

Django網站快速入門 2.1 個人部落格網站規劃 個人部落格具有以下功能: 專案名稱mblog 通過admin管理介面張貼、編輯以及刪除貼文 使用Bookstrap網頁框架 在主頁中顯示每篇文章的標題,及發帖日期 建立專案: dja

Hexo搭建個人部落

一、安裝Nodejs 二、安裝Git for windows 三、安裝Hexo 1、開啟Git Bash,執行命令: npm install hexo-cli -g 如果不行就先執行: npm --registry http:

【nodeJS】從nodejs原生的部落網站搭建到 koa框架實現個人部落網站搭建

nodejs實現搭建部落格網站前言:原java後端渣渣一枚,因專案需要轉學了nodejs進行開發,正式進行專案開發之前,師傅安排了一些專案訓練,先熟悉js語法,然後熟悉nodejs,再慢慢重構向框架的使用。    寫這一篇文章的目的在於記錄自己學習的歷程,同時也是給其他的no