vue全家桶+node+mongodb商城專案小結
配置檔案
- index.js
- webpack.base.conf.js
vue.js基礎語法
- mustache語法:
{{msg}}
- html賦值:
v-html=""
- 繫結屬性:
v-bind:id=""
- 使用表示式:
{{ ok?'Yes:No' }}
- 文字賦值:
v-text=""
- 指令:
v-if=""
條件判斷 - 過濾器:
{{ message | capitalize }}
和v-bind:id="rawId | formatId"
class和style繫結
- 物件語法:
v-bind:class="{'active':isActive, 'text-danger':hasError}"
- 陣列語法:
v-bind:class="[activeClass, errorClass]"
data:{
activeClass:'active',
errorClass:'text-danger'
} - style繫結-物件語法:
v-bind:style=""
條件渲染
v-if
v-else
v-else-if
v-show
v-cloak
v-if
如果條件不成立,元素不渲染
v-show
如果條件不成立,渲染,置display:none
v-cloak
如果頁面重新整理的太快,導致有些頁面的元素沒有加載出來,v-cloak
事件處理器
v-on:click="greet"
或@click="greet"
v-on:click.stop
阻止事件冒泡
v-on:click.stop.prevent
阻止預設事件
v-on:click.self
給這個div繫結事件的物件本身繫結事件?
v-on:click.once
給這個事件繫結一次v-on:keyup.enter
路由
import HelloWorld from '@/components/HelloWorld'
@ 表示 src 目錄
巢狀路由
路由index.js
import Vue from 'vue'
import Router from 'vue-router'
import GoodsList from '@/views/GoodsList'
import Title from '@/views/Title'
Vue.use(Router)
export default new Router({
mode: 'history',
routes: [{
path: '/goods',
name: 'GoodsList',
component: GoodsList,
children: [{
path: 'title',
name: 'title',
component: Title
}]
}]
})
views/GoodsList.vue
<template>
<div>
<p>這是商品列表頁</p>
<router-link to="/goods/title">標題</router-link>
<div>
<router-view></router-view>
</div>
</div>
</template>
<style></style>
<script>
export default {
data() {}
}
</script>
views/Title.vue
<template>
<div>
<p>這是商品標題元件</p>
</div>
</template>
<style></style>
<script>
export default {
data() {}
}
</script>
程式設計路由
通過js來實現頁面的跳轉
$router.push("name")
$router.push({path:"name"})
$router.push({path:"name?a=1234"})或$router.push({path:"name",query:{a:1234}})
… …
AMD CMD CommonJS和ES6的對比
- AMD是RequireJS在推廣過程中對模組定義的規範化產出。非同步模組定義,特點:依賴前置
define(['package/lab'],function(lab){
function foo(){
console.log("hello world")
}
return {
foo:foo
};
});
- CMD是SeaJS在推廣過程中對模組定義的規範化產出。同步模組定義,特點:即用即調
define(function(require, exports, module){
var $ = require("jquery")
var Spinning = require("./spinning")
});
- CommonJS規範 - module.exports 在服務端使用,在服務端進行模組劃分
exports.area = function (r) {
return Math.PI * r * r;
};
exports.circumference = function (r) {
return 2 * Math.PI * r;
};
- ES6特性 export/import
export default {
name: 'HelloWorld',
data () {
return {
num:10,
msg: 'Welcome to Your Vue.js App'
}
},
methods:{
increment () {
this.num++;
},
decrement () {
this.num--;
}
},
components:{
Counter
}
}
node.js
- http
- module
- path
- url util …
其他
express的router通過get與POST傳遞引數時,後端獲取引數的方式的區別
- GET 通過
req.param("param1")
的方式獲取 - POST 通過
req.body.param1
的方式獲取
前端傳參的區別
- GET
axios.get('/path',{
params:{
key:value
}
}).then((res)=>{
});
- POST
axios.post('/path',{
key:value
}).then((res)=>{
});
踩坑
- js物件的語法易錯
是
var param = {
userName: req.body.userName,
userPwd: req.body.userPwd
}
不是
var param = {
userName = req.body.userName,
userPwd = req.body.userPwd
}
- 請求的回撥函式引數的順序是
(req, res, next)
,不是(res, req, next)
錯誤總結
Error: spawn cmd ENOENT
很明顯了,錯誤資訊都給出了 cmd
關鍵詞,我一開始一直以為是node的版本的問題,特地把版本降到了7.0,錯誤的參考了github上關於這個問題的討論 升級Node.js 8 之後,npm run dev 會出現問題
為此我還學會了如何解除安裝高版本的node,再裝回舊版本的。要解除安裝高版本的node,有一個辦法就是再重新點開這個版本的node安裝包,在安裝選項中選擇remove
就可以解除安裝當前的node版本了,之後再裝其他低版本的node就都沒問題了
浪費了我很多時間,最後終於找到了解決辦法 Get ‘spawn cmd ENOENT’ when try to build Cordova application (event.js:85) 我按照連結裡的方法將C:\Windows\System32
新增到環境變數path
中就好了,點贊量高的答案果然很有用!
Vuex
專門為vue.js應用程式開發的狀態管理模式
構建中大型單頁面程式時,Vuex能夠更好的幫助我們在元件外部統一管理狀態
核心概念
State 唯一的資料來源、載體
Getters 通過getters可以派生出一些新的狀態
Mutations 唯一可以提交和改變狀態的,Vuex的store中的狀態的唯一提交方法
Actions 提交的是mutation,而不是直接變更的狀態,可以包含任意非同步操作
Modules 面對複雜的應用程式,當管理的狀態比較多時,需要將Vuex的store物件分割成模組(modules)
線上部署
後端和前端程式碼分開。使用nginx實現介面轉發,不會跨域
部署到線上時如果採用資料夾的形式,注意修改路徑配置config/index.js/
中的assetsPublicPath
為程式碼存放的資料夾,否則會找不到資原始檔的路徑
課程資源
相關推薦
vue全家桶+node+mongodb商城專案小結
配置檔案 index.js webpack.base.conf.js vue.js基礎語法 mustache語法:{{msg}} html賦值:v-html="" 繫結屬性:v-bind:id="" 使用表示式:{{ ok?'Yes:No' }}
專案:Vue+node+後臺管理專案小結
序:本文主要分兩塊說:專案機制,具體用到的知識塊。 1. 專案機制 專案的原型以vue-cli為原型,進行專案的初步構建。專案以node.js服務和webpack打包機制為依託,將.vue檔案打包為瀏覽器可以識別的檔案。Node.js和webpack可以讓專案執行在開發環境,或者執行在線上
vue全家桶(Vue+Vue-router+Vuex+axios)(Vue+webpack專案實戰系列之二)
一、Vue 系列一已經用vue-cli搭建了Vue專案,此處就不贅述了。 二、Vue-router Vue的路由,先獻上文件(https://router.vuejs.org/zh-cn/)。 路由在全家桶裡面定位是什麼呢,建立單頁應用!簡單!
Vue全家桶+Egg從0開發大型專案(一)搭建專案
前言 因為要開發本科畢設,做一個校友交流平臺,正好想記錄下整個開發過程,同時也分享給各位。當然那些需求調研的,前期設計的就省略啦。 專案大概是一個全棧的專案,使用的IDE是vscode(期間涉及一些外掛、配置推薦),大概的專案技術棧: vue + vue-router + vuex + vue-i
vue全家桶(一) 使用 vue-cli 構建專案
一.安裝node.js 進入node.js官網 https://nodejs.org/en/download/ ,選擇對應安裝包,版本建議8.0以上。 node.js安裝完了,npm也就安裝完了。 鍵盤按下【win+R】鍵,輸入cmd,然後回車,開啟cm
vue全家桶專案搭建
想到哪補充到哪 移動端ui框架-vux,安裝過程如官網所示,注意一定要安裝vux-loader,接著在config/webpack.base.conf.js中進行vux-loader的配置,首先引入vux-loader const vuxLoader = r
基於 vue 全家桶的 spa 專案模板
專案簡介 最近在給團隊做前端技術改造,移動端方面主要使用 vue2.0 重構,這是基於 vue-cli 腳手架生成專案模板。我們做了一些改造, 加入了 vue-router ,vuex 等配套設施,本地 dev server 中加入了介面 mock 功能
專案- Vue全家桶實戰去哪網App
最近在學習Vue,花了幾天時間跟著做了這個專案,算是對學習Vue入門的一個總結,歡迎同學們star 去哪網APP 基於 Vue 全家桶 (2.x) 製作的 去哪網APP專案,專案完整、功能完備、UI美觀、互動一流。 技術棧
構建vue全家桶專案-構建
請按如下步驟操作 1.安裝node,下載node並安裝2.檢查node與npm版本資訊開啟命令列 windows+R node -v 檢查node版本 npm -version 檢查npm版本
Vue全家桶開發專案
專案簡介:這個專案是國人開發,仿網易雲音樂,使用 Vue 全家桶開發的 webApp,也就是部署之後,可以通過手機訪問頁面,樣子還
Vue 全家桶 + Express 實現的博客(後端API全部自己手寫)
vue express node mysql vuex 為什麽學習並使用Vue1.發展趨勢最近這幾年的前端圈子,由於戲臺一般精彩紛呈,從 MVC 到 MVVM,你剛唱罷我登場。 backbone,AngularJS 已成昨日黃花,reactjs 如日中天,同時另一更輕量的 vue 發展勢頭
搭建vue全家桶
靜態頁 light -- vue ack sas nbsp sass log 1、直接利用vue-cli腳手架快速搭建 (1)全局安裝vue-cli npm install -g vue-cli (2)創建項目 vue init webpack-simple my-
從零開始系列之vue全家桶(3)安裝使用vuex
info 獲取 clas from 顯示 共享 安裝 default 重要 什麽是vuex? vuex:Vue提供的狀態管理工具,用於同一管理我們項目中各種數據的交互和重用,存儲我們需要用到數據對象。 即data中屬性同時有一個或幾個組件同時使用,就是data中共用的屬性。
從零開始系列之vue全家桶(4)帶新手小白一起搭建第一個個人網站項目
轉載 個人網站 rfi red nbsp oot ott osx 全部 未經允許,嚴禁轉載,全文由blackchaos提供。 在安裝好了前面大部分需要的插件,我們開始進行第一個個人項目。結合vue+vuex+vue-cli+vue-router+webpack使用。
已配置好的vue全家桶項目router,vuex,api,axios,vue-ls,async
vuejsgithub 地址: https://github.com/liangfengbo/vue-cli-project 點擊進入 vue-cli-project 已構建配置好的vuejs全家桶項目,統一管理後端接口 | 獲取數據 | 請求數據,已包含vue-router,vuex,api,axios.
項目- Vue全家桶實戰去哪網App
.org 編譯 script image 項目上線 str 用戶 設計 fastclick 最近在學習Vue,花了幾天時間跟著做了這個項目,算是對學習Vue入門的一個總結,歡迎同學們star 去哪網APP ?? 項目演示地址:http://118.25.39.84 基於
2018最新Vue全家桶+SSR+Koa2全棧開發美團網
第1章 課程導學這門課主講以Vue SSR+Koa2全棧技術為目標,最終實現美團網專案。本章節旨在告訴大家我們會用到哪些技能、教學方法、課程內容分佈、學習方法等。備註:我們會涉及Vue2.5、Nuxt、Koa2、element-ui、Mongodb等1-1 課程導學第2章 Vue基礎知識整個SSR部分都是用的
Vue全家桶+SSR+Koa2全棧開發美團網實戰資料
Vue全家桶+SSR+Koa2全棧開發美團網 Vue全家桶+SSR+Koa2全棧開發美團網 獲取資源新增qq+2100776785 新增時請備註 美團 獲取資源新增qq+2100776785 新增時請備註 &n
前端工程師晉升課程 Vue全家桶+SSR+Koa2全棧開發美團網
第1章 課程導學這門課主講以Vue SSR+Koa2全棧技術為目標,最終實現美團網專案。本章節旨在告訴大家我們會用到哪些技能、教學方法、課程內容分佈、學習方法等。備註:我們會涉及Vue2.5、Nuxt、Koa2、element-ui、Mongodb等 1-1 課程導學第2章 Vue基礎知識整個SSR部分都是
2018最全Vue全家桶+SSR+Koa2全棧開發美團網
第1章 課程導學這門課主講以Vue SSR+Koa2全棧技術為目標,最終實現美團網專案。本章節旨在告訴大家我們會用到哪些技能、教學方法、課程內容分佈、學習方法等。備註:我們會涉及Vue2.5、Nuxt、Koa2、element-ui、Mongodb等1-1 課程導學第2章 Vue基礎知識整個S