利用express(nodejs)实现的前后端分离
首先确保你安装了nodejs,安装教程和利用vue-cli初始化一个项目在这就不娓娓道来了。(这里用vue-cli构建的项目,如果不是,只需要在客户端更换成其他请求数据的方法就好了)一.现在是上午10点,精神很饱满,我们先来搭建一下服务端吧!1>>在你的项目下新建一个server的文件夹,新建index.js和user.json,一个搭建服务器,一个用来存要返回客户端的js...
·
首先确保你安装了nodejs,安装教程和利用vue-cli初始化一个项目在这就不娓娓道来了。(这里用vue-cli构建的项目,如果不是,只需要在客户端更换成其他请求数据的方法就好了)
我们先来搭建一下服务端吧!
1>>在你的项目下新建一个server的文件夹,新建index.js和user.json,一个搭建服务器,一个用来存要返回客户端的json数据、
2>> index.js,主要是4块 引入-cors解决跨域-引入并发送数据-设置监听端口
var express = require("express"); //首先引入express模块,不了解去看nodejs教程 安装:npm install express
var app = express();
var fs = require("fs"); // 文件系统,引入user.json的数据 也可以自己随便写个数据 ;
var cors = require("cors");// 这个比较重要,解决跨域问题.npm install cors 装一下
app.use(cors({
origin: ['http://localhost:8080'], // 这是本地的默认地址和端口,vue启动的项目就是在这里,这样保证了等会我们在浏览器能访问服务器的数据(user.json)
methods: ["GET", "POST"],
alloweHeaders: ["Content-Type", "Authorization"]
}))
app.get("/user", function (req, res) { //"/user" 是自定义的,用于显示在地址栏
fs.readFile(__dirname + "/" + "user.json", "utf-8", function (err, data) { // __dirname是文件夹的名,我们用fs读取user.json
res.end(data) // 然后把读取的文件通过 res.end()发送给客户端
})
});
var server = app.listen(3000, function () { // 设置服务端端口为3000,即:http://127.0.0.1:3000
var host = server.address().address
var port = server.address().port
console.log("应用实例,访问地址为 http://%s:%s", host, port)
})
//如果有些不懂可以先复制粘贴跑一遍,再慢慢琢磨
3>>在命令行输入node index.js启动服务器。这样服务器就打好了
二.现在我们在客户端向服务器请求数据:
1>>vue不在对vue-resource维护,我们用axios来发送请求,先安装 npm i axios --save ,然后在src下的main.js
import Vue from 'vue'
import App from './App'
import router from './router'
import axios from 'axios'
Vue.config.productionTip = false
Vue.prototype.axios = axios;
图个方便,就直接在App里的mouted函数里发送请求了,如图(代码不多,这里自己敲一下)
要注意的是get里面的地址,跟你在服务器设置的有关,要保证一致
2>>npm run dev 启动我们本地项目 ,打开控制台,可以看到数据请求成功
如果 打印res.data的就可以看到我在服务端user.json的数据
好啦,现在我们就可以自己造个服务器干活啦!减少了和后端大佬们的摩擦!还不是美滋滋!
更多推荐
已为社区贡献3条内容
所有评论(0)