VUE+node(express)實(shí)現(xiàn)前后端分離
vue作為前端的框架,node(express)作為后端的框架。無(wú)數(shù)據(jù)庫(kù),使用端口保存數(shù)據(jù)。 VUE:
使用vue-cli構(gòu)建vue項(xiàng)目(vueapp)。

npm install -g vue-cli(安裝,安裝過(guò)的就不用了) vue init webpack vueapp
axios:(與ajax相似)
import axios from 'axios'
var url="http://localhost:3000" //express服務(wù)器的地址
axios.get(url+'/product') //放數(shù)據(jù)的接口
.then(function (response) { //收到的數(shù)據(jù)
console.log(response);
console.log(response.data); //展示數(shù)據(jù)(看看是否拿到,和數(shù)據(jù)長(zhǎng)啥樣)
var nodeData=response.data;
})
.catch(function (error) {
console.log(error);
});
axios沒(méi)安裝的記得裝一下。(安裝不細(xì)說(shuō))
node(express): 啟動(dòng)>>>npm start
使用express構(gòu)建服務(wù)器:

新建個(gè)myapp放express npm install express
在(routes文件夾中)建一個(gè)product,js接口
var express = require('express'); //使用express
var router = express.Router(); //放數(shù)據(jù)
/* GET home page. */
router.get('/', function (req, res, next) {
var data = {
code: 0,
data: {
name: 'aaa',
pwd: '123'
},
isSuccess: true,
msg: "請(qǐng)求成功"
}
res.json(data);
});
module.exports = router;
app.js(建立接口存放數(shù)據(jù))
var productRouter = require('./routes/product');
app.use('/product', productRouter);
最后服務(wù)器數(shù)據(jù)有了?。。?!VUE前端接收數(shù)據(jù)的鏈接也有了?。。〉€是沒(méi)辦法鏈接?。。。∵@就是跨域的問(wèn)題?。?!
跨域:
1.端口不同 http://localhost:3000和http://localhost:8080
2.網(wǎng)址不同 www.baidu.com和www.aiqiyi.com
3.ip和網(wǎng)址不同 http://localhost:3000和http://127.0.0.1
反正除非同個(gè)網(wǎng)址里面,只有目錄不同,才不用跨域。
開(kāi)始解決!!
express>>>app.js
//跨域問(wèn)題解決方面
const cors = require('cors');
app.use(cors({
origin:['http://localhost:8080'],
methods:['GET','POST'],
}));
//跨域問(wèn)題解決方面
app.all('*',function (req, res, next) {
res.header('Access-Control-Allow-Origin', 'http://localhost:8080');
res.header('Access-Control-Allow-Headers', 'Content-Type');
res.header('Access-Control-Allow-Methods', 'PUT, POST, GET, DELETE, OPTIONS');
next();
});
cors需要安裝,是一個(gè)依賴。
結(jié)果:
服務(wù)器(express):3000接口數(shù)據(jù)


搞定了,以上就是本次介紹的全部知識(shí)點(diǎn),感謝大家的學(xué)習(xí)和對(duì)腳本之家的支持。
相關(guān)文章
vue2中seo時(shí)使用vue-meta-info的方法
這篇文章主要介紹了vue2中seo時(shí)使用vue-meta-info,本文通過(guò)實(shí)例代碼給大家詳細(xì)講解,文末給大家補(bǔ)充介紹了vue seo管理 vue-meta-info 動(dòng)態(tài)設(shè)置meta和title的相關(guān)知識(shí),需要的朋友可以參考下2022-10-10
解決Vue + Echarts 使用markLine標(biāo)線(precision精度問(wèn)題)
這篇文章主要介紹了解決Vue + Echarts 使用markLine標(biāo)線(precision精度問(wèn)題),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-07-07
解決vue動(dòng)態(tài)路由異步加載import組件,加載不到module的問(wèn)題
這篇文章主要介紹了解決vue動(dòng)態(tài)路由異步加載import組件,加載不到module的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-07-07
Vue2.x中的父子組件相互通信的實(shí)現(xiàn)方法
這篇文章主要介紹了Vue2.x中的父子組件相互通信,需要的朋友可以參考下2017-05-05
web前端Vue報(bào)錯(cuò):Uncaught?(in?promise)?TypeError:Cannot?read?
這篇文章主要給大家介紹了關(guān)于web前端Vue報(bào)錯(cuò):Uncaught?(in?promise)?TypeError:Cannot?read?properties?of?nu的解決方法,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-01-01
使用vuex的state狀態(tài)對(duì)象的5種方式
本文給大家介紹了使用vuex的state狀態(tài)對(duì)象的5種方式,給大家貼出了我的vuex的結(jié)構(gòu),感興趣的朋友跟隨腳本之家小編一起學(xué)習(xí)吧2018-04-04
vue+webpack模擬后臺(tái)數(shù)據(jù)的示例代碼
這篇文章主要介紹了vue+webpack模擬后臺(tái)數(shù)據(jù)的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-07-07
VSCode搭建vue項(xiàng)目的實(shí)現(xiàn)步驟
本文主要介紹了VSCode搭建vue項(xiàng)目的實(shí)現(xiàn)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02

