项目基础:iview cil 2.0 ,写的不是很详细,有问题欢迎留言哈,会及时回复的
1.webpack.dev.config.js配置修改(支持跨域)
module.exports = merge(webpackBaseConfig, {
devtool: '#source-map',
output: {
publicPath: '/dist/',
filename: '[name].js',
chunkFilename: '[name].chunk.js'
},
plugins: [
new ExtractTextPlugin({
filename: '[name].css',
allChunks: true
}),
new webpack.optimize.CommonsChunkPlugin({
name: 'vendors',
filename: 'vendors.js'
}),
new HtmlWebpackPlugin({
filename: '../index.html',
template: './src/template/index.ejs',
inject: false
})
],
devServer: {
historyApiFallback: true,
hot: true,
inline: true,
stats: { colors: true },
proxy: {
'/api': { //匹配代理的url
target: '你的目标地址', // 目标服务器地址
pathRewrite: {'^/api' : '/api'},//路径重写
changeOrigin: true
}
}
}
});
复制代码
项目要配置的东西就这些,util需要你自行配置好你要用的方法(post,get等),然后在你的methods里自行调用就行
2.node服务端配置
1.package.json 依赖项(cnpm i 自行安装)
{
"name": "node-server",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"devDependencies": {
"body-parser": "^1.18.3",
"express": "^4.16.3"
}
}
复制代码
2.ap.js (放在主目录下即可,处理请求并返回数据)
var express = require('express');
var bodyParser = require('body-parser');
var app = express();
//跨域
app.all('*', function (req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "X-Requested-With");
res.header("Access-Control-Allow-Methods", "PUT,POST,GET,DELETE,OPTIONS");
res.header("X-Powered-By", ' 3.2.1');
res.header("Content-Type", "application/json;charset=utf-8");
next();
});
var questions = [{//返回数据
data: 213
}
]
app.get('/123', function (req, res) {//get请求处理,接口名为第一个参数,可以自定义,返回之前也可以链接数据库做一些其他操作
console.log("get接收:" + JSON.stringify(req.query))//命令行会自行打印收到的参数
res.status(200),
res.json(questions)
});
var urlencodedParser = bodyParser.urlencoded({
extended: false
})
app.post('/post', urlencodedParser, function (req, res) {//post请求处理,接口名为第一个参数,可以自定义,返回之前也可以链接数据库做一些其他操作
console.log("post接收:" + JSON.stringify(req.body)) //命令行会自行打印收到的参数
res.json(questions);
});
var server = app.listen(1136, function () {
var host = server.address().address;
var port = server.address().port;
console.log('启动', host, port);
})
复制代码
get请求收到的参数在req.query里,post收到的参数在req.body里
3.以上完成后,启用一个命令行,运行ap.js就可以愉快的发请求玩了
这里真的没有了
复制代码