详解webpack-dev-server 设置反向代理解决跨域问题


Posted in Javascript onApril 18, 2018

一、设置代理的原因

现在对前端开发的要求越来越高,并且随着自动化以及模块化的诞生,前后端开发模式越来越流行。后端只负责接口,前端负责数据展示、逻辑处理。但是前后端开发模式,有一个重要的问题,就是跨域问题。

 二、如何配置webpack的代理

webpack代理需要另外一个插件:webpack-dev-server 

webpack-dev-server配置代理非常的方便,只需要条件一个proxy属性,然后配置相关的参数就可以了:

var webpack = require('webpack');
var WebpackDevServer = require("webpack-dev-server");
var path = require('path');
var CURRENT_PATH = path.resolve(__dirname); // 获取到当前目录
var ROOT_PATH = path.join(__dirname, '../'); // 项目根目录
var MODULES_PATH = path.join(ROOT_PATH, './node_modules'); // node包目录
var BUILD_PATH = path.join(ROOT_PATH, './dist'); // 最后输出放置公共资源的目录
var HtmlWebpackPlugin = require('html-webpack-plugin');
var ExtractTextPlugin = require("extract-text-webpack-plugin");
var CopyWebpackPlugin = require('copy-webpack-plugin');

module.exports = {

  //项目的文件夹 可以直接用文件夹名称 默认会找index.js ,也可以确定是哪个文件名字
  entry: {
    app: ['./src/js/index.js'],
    vendors: ['jquery', 'moment'], //需要打包的第三方插件
    // login:['./src/css/login.less']
  },

  //输出的文件名,合并以后的js会命名为bundle.js
  output: {
    path: path.join(__dirname, "dist/"),
    publicPath: "http://localhost:8088/dist/",
    filename: "bundle_[name].js"
  },
  devServer: {
    historyApiFallback: true,
    contentBase: "./",
    quiet: false, //控制台中不输出打包的信息
    noInfo: false,
    hot: true, //开启热点
    inline: true, //开启页面自动刷新
    lazy: false, //不启动懒加载
    progress: true, //显示打包的进度
    watchOptions: {
      aggregateTimeout: 300
    },
    port: '8088', //设置端口号
    //其实很简单的,只要配置这个参数就可以了
    proxy: {
      '/index.php': {
        target: 'http://localhost:80/index.php',
        secure: false
      }
    }
  } 
..........
};

上面实例中我们把本地的端口号设置为了:8088,如果这个时候接口放在了端口为80的服务器上,并且我们请求的接口url如下:http://localhost:80/index.php

 这个时候只需要在proxy使用正则表达式匹配/index.php,然后 匹配到 转向target设置的目标接口;这个时候使用ajax请求接口就不要写上目标接口的域名,只需要写上index.php就可以了。

$.ajax({
    type: 'GET',
    url: '/index.php',
    data: {},
    dataType: 'json',
    beforeSend: function () {
    },
    success: function (data) {

    },
    error: function (error) {

    }
  });

上面ajax请求的时候proxy 代理就会自动转向target设置的接口路径:http://localhost:80/index.php

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JS实现Enter键跳转及控件获得焦点
Aug 12 Javascript
Firefox和IE兼容性问题及解决方法总结
Oct 08 Javascript
JavaScript为事件句柄绑定监听函数实例详解
Dec 15 Javascript
Mvc提交表单的四种方法全程详解
Aug 10 Javascript
ie下js不执行的几种可能
Feb 28 Javascript
validationEngine 表单验证插件使用实例代码
Jun 15 Javascript
Vue组件化通讯的实例代码
Jun 23 Javascript
想用好React的你必须要知道的一些事情
Jul 24 Javascript
JavaScript中arguments和this对象用法分析
Aug 08 Javascript
layui table设置前台过滤转义等方法
Aug 17 Javascript
js通过循环多张图片实现动画效果
Dec 19 Javascript
vue 如何使用递归组件
Oct 23 Javascript
jQuery实现的两种简单弹窗效果示例
Apr 18 #jQuery
vue双向数据绑定知识点总结
Apr 18 #Javascript
浅析vue中常见循环遍历指令的使用 v-for
Apr 18 #Javascript
关于Angularjs中跨域设置白名单问题
Apr 17 #Javascript
JS实现二维数组横纵列转置的方法
Apr 17 #Javascript
redux中间件之redux-thunk的具体使用
Apr 17 #Javascript
Vue进度条progressbar组件功能
Apr 17 #Javascript
You might like
在PHP中利用XML技术构造远程服务(下)
2006/10/09 PHP
PHP邮件专题
2006/10/09 PHP
php面向对象全攻略 (十四) php5接口技术
2009/09/30 PHP
使用dump函数,给php加断点测试
2013/06/25 PHP
php计算数组不为空元素个数的方法
2014/01/27 PHP
PHP异常处理Exception类
2015/12/11 PHP
Laravel框架使用Seeder实现自动填充数据功能
2018/06/13 PHP
定位地理位置PHP判断员工打卡签到经纬度是否在打卡之内
2019/05/23 PHP
PHPStorm 2020.1 调试 Nodejs的多种方法详解
2020/09/17 NodeJs
javascript中最常用的继承模式 组合继承
2010/08/12 Javascript
jquery常用特效方法使用示例
2014/04/25 Javascript
Angularjs 基础入门
2014/12/26 Javascript
jquery文档操作wrap()方法实例简述
2015/01/10 Javascript
vue-axios使用详解
2017/05/10 Javascript
在js代码拼接dom对象到页面上的模板总结
2018/10/21 Javascript
Vue 动态组件components和v-once指令的实现
2019/08/30 Javascript
Python中返回字典键的值的values()方法使用
2015/05/22 Python
PyQt5利用QPainter绘制各种图形的实例
2017/10/19 Python
Python入门之三角函数atan2()函数详解
2017/11/08 Python
Python使用smtp和pop简单收发邮件完整实例
2018/01/09 Python
Python基于递归实现电话号码映射功能示例
2018/04/13 Python
示例详解Python3 or Python2 两者之间的差异
2018/08/23 Python
python矩阵/字典实现最短路径算法
2019/01/17 Python
经验丰富程序员才知道的8种高级Python技巧
2020/07/27 Python
利用Python将多张图片合成视频的实现
2020/11/23 Python
python help函数实例用法
2020/12/06 Python
HTML5中判断横屏竖屏的方法(移动端)
2016/08/04 HTML / CSS
Html5之webcoekt播放JPEG图片流
2020/09/22 HTML / CSS
创业计划书六个要素
2013/12/26 职场文书
弘扬雷锋精神活动演讲稿
2014/03/04 职场文书
给校长的建议书
2014/03/12 职场文书
法院干警四风问题自我剖析材料
2014/09/29 职场文书
世界卫生日宣传活动总结
2015/02/09 职场文书
后勤个人工作总结
2015/02/28 职场文书
个人向公司借款协议书
2016/03/19 职场文书
python3读取文件指定行的三种方法
2021/05/24 Python