摘要:前端獲取數據時經常遇見跨域問題,以前一直用做反向代理。最近在用,發現的代理簡單好用。于是仿照寫了一個簡單的服務器,用于非的項目。交流學習圈交流學習圈
前端獲取數據時經常遇見跨域問題,以前一直用nginx做反向代理。最近在用vuejs,發現webpack-dev-server的代理簡單好用。于是仿照寫了一個簡單的web服務器,用于非webpack的項目。
1 const request = require("request"); 2 const express = require("express"); 3 const path = require("path"); 4 5 const app = express(); 6 7 const proxyTable = { 8 "/wcf": { 9 target: " 10 } 11 };交流學習圈582735936 12 13 app.use(function(req, res,next) { 14 const url = req.url; 15 if (req.method == "OPTIONS") { 16 console.log("options_url: ", url); 17 18 // res.header("Access-Control-Allow-Origin", req.headers.origin || "*"); 19 // res.header("Access-Control-Allow-Headers", "Content-Type, Authorization, X-Requested-With"); 20 // res.header("Access-Control-Allow-Methods", "PUT,POST,GET,DELETE,OPTIONS"); 21 22 // res.header("Access-Control-Allow-Credentials", true); 23 24 res.status(200).send("OK"); 25 return; 26 } 27 28 // console.log("req_url: ", url); 29 next(); 30 }); 31 32 33 app.use(express.static(path.join(__dirname, "static"))); 34 35 app.use("/", function(req, res) { 36 const url = req.url; 37 const proxy = Object.keys(proxyTable); 38 let not_found = true; 39 for (let index = 0; index < proxy.length; index++) { 40 const k = proxy[index]; 41 const i = url.indexOf(k); 42 if (i >= 0) { 43 not_found = false; 44 const element = proxyTable[k]; 45 const newUrl = element.target + url.slice(i+k.length); 46 req.pipe(request({url: newUrl, timeout: 60000},(err)=>{ 47 if(err){ 48 console.log("error_url: ", err.code,url); 49 res.status(500).send(""); 50 } 51 })).pipe(res); 52 break; 53 } 54 }交流學習圈582735936 55 if(not_found) { 56 console.log("not_found_url: ", url); 57 res.status(404).send("Not found"); 58 } else { 59 console.log("proxy_url: ", url); 60 } 61 }); 62 63 const PORT = 8080; 64 app.listen(PORT, () => { 65 console.log 66 });
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/40236.html
摘要:前端獲取數據時經常遇見跨域問題,以前一直用做反向代理。最近在用,發現的代理簡單好用。于是仿照寫了一個簡單的服務器,用于非的項目。交流學習圈交流學習圈 前端獲取數據時經常遇見跨域問題,以前一直用nginx做反向代理。最近在用vuejs,發現webpack-dev-server的代理簡單好用。于是仿照寫了一個簡單的web服務器,用于非webpack的項目。 1 const request ...
摘要:安裝環境是運行在服務端的,基于引擎建立的平臺下載并安裝下載最新的穩定版到本地這是當前發布文章時最新的穩定版本下載完后,將其解壓將解壓的目錄移動到目錄下配置軟連接到目錄配置和使用配置是的包管理和分發工具。 1、安裝node.js環境 node.js是運行在服務端的JavaScript,基于Chrome JavaScript V8引擎建立的平臺、 下載并安裝node.js下載最新的穩定版v...
摘要:的官方下載地址點我進入的官方下載地址下載電腦系統對應文件,然后進行安裝,安裝成功之后通過命令行工具進入安裝目錄。注系統命令行工具通過開始菜單輸入打開,系統為終端。 showImg(https://segmentfault.com/img/bVPL6q?w=200&h=200); Vue — 漸進式 JavaScript 框架 介紹 Vue.js 是什么 vue.js 是一套構建用戶界面...
摘要:的官方下載地址點我進入的官方下載地址下載電腦系統對應文件,然后進行安裝,安裝成功之后通過命令行工具進入安裝目錄。注系統命令行工具通過開始菜單輸入打開,系統為終端。 showImg(https://segmentfault.com/img/bVPL6q?w=200&h=200); Vue — 漸進式 JavaScript 框架 介紹 Vue.js 是什么 vue.js 是一套構建用戶界面...
閱讀 3456·2021-09-08 09:36
閱讀 2534·2019-08-30 15:54
閱讀 2345·2019-08-30 15:54
閱讀 1762·2019-08-30 15:44
閱讀 2378·2019-08-26 14:04
閱讀 2437·2019-08-26 14:01
閱讀 2869·2019-08-26 13:58
閱讀 1315·2019-08-26 13:47