ホームページ  >  記事  >  ウェブフロントエンド  >  Webpackを使用してリバースプロキシを設定する方法

Webpackを使用してリバースプロキシを設定する方法

php中世界最好的语言
php中世界最好的语言オリジナル
2018-06-07 14:44:402708ブラウズ

今回は、webpack を使用してリバース プロキシを設定する方法と、webpack を使用してリバース プロキシを設定する際の注意点について説明します。以下は実際のケースです。

1. プロキシを設定する理由

現在、フロントエンド開発の要件はますます高くなり、自動化とモジュール化の誕生により、フロントエンドとバックエンドの開発モデルが誕生しています。ますます人気が高まっています。バックエンドはインターフェイスのみを担当し、フロントエンドはデータの表示と論理処理を担当します。ただし、フロントエンドとバックエンドの開発モデルには、クロスドメインの問題という重要な問題があります。

2. webpack プロキシの設定方法

webpack プロキシには別のプラグインが必要です: webpack-dev-server

webpack-dev-server プロキシを設定するだけで非常に便利です。プロキシ属性を条件付けし、関連するパラメータを設定します。 パラメータは十分です:

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

現時点では、正規表現を使用してプロキシ内の /index.php と一致させ、ターゲット インターフェイス セットと一致させるだけで済みます。リダイレクト先で; この時点で、ajax リクエスト インターフェイスを使用する場合は、ターゲット インターフェイスのドメイン名を記述せず、単にindex.php と記述します。

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

この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、php 中国語 Web サイトの他の関連記事に注目してください。

推奨読書:

json オブジェクトを並べ替えて同じ ID を持つデータを削除する方法

実際のプロジェクトで mvvm-simple 双方向バインディングを実行する方法

以上がWebpackを使用してリバースプロキシを設定する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。