{"id":1576,"date":"2023-03-25T19:23:11","date_gmt":"2023-03-25T11:23:11","guid":{"rendered":"https:\/\/www.appblog.cn\/?p=1576"},"modified":"2023-04-27T21:31:51","modified_gmt":"2023-04-27T13:31:51","slug":"vue-proxytable-build-packaged-access-message-404","status":"publish","type":"post","link":"https:\/\/www.appblog.cn\/index.php\/2023\/03\/25\/vue-proxytable-build-packaged-access-message-404\/","title":{"rendered":"Vue proxyTable build\u6253\u5305\u540e\u8bbf\u95ee\u62a5404"},"content":{"rendered":"<h2>\u95ee\u9898\u63cf\u8ff0<\/h2>\n<p>vue proxyTable \u70ed\u542f\u52a8\u72b6\u6001\u4e0b\u80fd\u6b63\u5e38\u8bbf\u95ee\uff0c\u6253\u5305\u540e\u8bbf\u95ee\u5c31\u5305404<\/p>\n<blockquote>\n<p>\u914d\u7f6e\u53c2\u8003\uff1a<a target=\"_blank\" rel=\"noopener\" href=\"https:\/\/cli.vuejs.org\/config\/#devserver-proxy\">https:\/\/cli.vuejs.org\/config\/#devserver-proxy<\/a><\/p>\n<\/blockquote>\n<p><!-- more --><\/p>\n<h3>\u4ee3\u7406\u914d\u7f6e<\/h3>\n<pre><code class=\"language-bash\">$ vim vue.config.js<\/code><\/pre>\n<pre><code class=\"language-javascript\">devServer: {\n  port: port,\n  open: true,\n  overlay: {\n    warnings: false,\n    errors: true\n  },\n  proxy: {\n    \/\/ change xxx-api\/login =&gt; mock\/login\n    \/\/ detail: https:\/\/cli.vuejs.org\/config\/#devserver-proxy\n    [process.env.VUE_APP_BASE_API]: {\n      \/\/target: `http:\/\/127.0.0.1:${port}\/mock`,\n      target: &#039;http:\/\/192.168.1.22:9200&#039;,\n      changeOrigin: true,\n      ws: true,\n      pathRewrite: {\n        [&#039;^&#039; + process.env.VUE_APP_BASE_API]: &#039;&#039;,\n      }\n    },\n    \/\/&#039;\/api&#039;: {\n      \/\/target: &#039;http:\/\/192.168.1.22:9200&#039;,\n      \/\/changeOrigin: true,\n      \/\/ws: true,\n      \/\/pathRewrite: {\n        \/\/&#039;^\/api&#039;: &#039;&#039;,\n      \/\/},\n    \/\/}\n  },\n  disableHostCheck: true,\n  \/\/after: require(&#039;.\/mock\/mock-server.js&#039;)\n},<\/code><\/pre>\n<h3>\u73af\u5883\u914d\u7f6e<\/h3>\n<pre><code class=\"language-bash\">$ vim .env.production<\/code><\/pre>\n<pre><code class=\"language-javascript\"># just a flag\nENV = &#039;production&#039;\n\n# base api\nVUE_APP_BASE_API = &#039;\/prod-api&#039;<\/code><\/pre>\n<h3>API\u8bf7\u6c42\u57fa\u5730\u5740\u8bbe\u7f6e<\/h3>\n<pre><code class=\"language-bash\">$ vim src\/utils\/request.js<\/code><\/pre>\n<pre><code class=\"language-javascript\">\/\/ create an axios instance\nconst service = axios.create({\n  baseURL: process.env.VUE_APP_BASE_API, \/\/ url = base url + request url\n  \/\/ withCredentials: true, \/\/ send cookies when cross-domain requests\n  timeout: 5000 \/\/ request timeout\n})<\/code><\/pre>\n<h2>\u89e3\u51b3\u65b9\u6848<\/h2>\n<blockquote>\n<p>proxyTable\u4ee3\u7406\u6253\u5305\u540e\u6ca1\u7528\u7684\uff0c\u90a3\u4e2a\u53ea\u662f\u9488\u5bf9\u672c\u5730\u5f00\u53d1\u7528\u7684\uff0c\u9700\u8981\u501f\u52a9Nginx\u5b8c\u6210\u4ee3\u7406<\/p>\n<\/blockquote>\n<pre><code class=\"language-json\">server {\n    listen       80;\n    server_name  gray.yezhou.me;\n\n    location \/ {\n        root   \/home\/yezhou\/spring-cloud-gray-webui\/dist;\n        index  index.html index.htm;\n    }\n\n    location \/prod-api\/ {\n        proxy_set_header Host $host;\n        proxy_set_header x-forwarded-for $remote_addr;\n        proxy_set_header X-Real-IP $remote_addr;\n        proxy_pass http:\/\/192.168.1.22:9200\/;\n    }\n}<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u95ee\u9898\u63cf\u8ff0 vue proxyTable \u70ed\u542f\u52a8\u72b6\u6001\u4e0b\u80fd\u6b63\u5e38\u8bbf\u95ee\uff0c\u6253\u5305\u540e\u8bbf\u95ee\u5c31\u5305404 \u914d\u7f6e\u53c2\u8003\uff1ahttps:\/ [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[35],"tags":[],"class_list":["post-1576","post","type-post","status-publish","format-standard","hentry","category-vue"],"_links":{"self":[{"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/posts\/1576","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/comments?post=1576"}],"version-history":[{"count":0,"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/posts\/1576\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/media?parent=1576"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/categories?post=1576"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/tags?post=1576"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}