vueクロスドメインエージェントdevServerのproxyパッケージは有効ではありません。

2485 ワード

module.exports = {
   publicPath: './',
   assetsDir: 'static',
   productionSourceMap: false,
   devServer: {
       proxy: {
           '/api':{
               target:'http://127.0.0.1:5000',
               changeOrigin:true,
               pathRewrite:{
                   '/api':'api'
               }
           }
       }
   }

}
  • がwebpack-dev-server(以下、wdsという)を使って開発を行ったとき、wdsはnodeで実行されているウェブサーバを起動しました。このとき、環境が対応するポートにアクセスする場合(8080で例を挙げる)、ブラウザから戻ってきたvueページはwds処理後の結果です。
  • クロスドメイン。簡単に言えば、ajaxを使って現在のページとは異なるソースのデータを要求する場合、ブラウザはサーバからの応答をブロックします。開発環境において、「現在のソース」とはhttp://127.0.0.1:8080任意の他のアドレスまたはポートに対する要求は、ドメインをまたぐものと見なされ、ブラウザによってブロックされる。
  • devServerのproxyは、開発環境下のドメイン横断要求配置を簡略化するためである。上記の状況で、ブロックされているのは「他のソース」への要求であり、「現在のソース」への送信はブロックされません。ここの「現在のソース」は開発サーバであるwdsです。wdsの考えは、これに基づいて、devServer proxyに配置された要求フォーマットに適合していることを発見した場合、その要求をブロックし、自分でサーバに応答を要求して、その応答をフロントページに返す、つまりマイクに相当する。
  • パッケージをコンパイルした後、フロントエンドページは単独の静的リソースとなり、wdsは抜き出されました。しかし、リソースがアクセスされるには、他のウェブサーバが必要です。このサーバーでよく見られるのはinxです。だから、オンラインのvueページでも正常にサーバにアクセスできるようにするには、nginxを設定して、同じことを教えます。