1. 程式人生 > >利用express+node 建立本地伺服器並利用node代理處理跨域請求;

利用express+node 建立本地伺服器並利用node代理處理跨域請求;

第一步 下載安裝node.js
第二步 初始化資料夾 命令: npm init
然後一路回車
初始化資料夾
第三步 安裝express,ejs, request,
npm install express ejs request –save-dev
安裝express,ejs, request

在初始化檔案下新建nodeServer.js(名稱自己定義);

var express = require('express');
var app = express();
var path = require('path');
var request = require
("request");//request 封裝了 HTTP 請求的各種方法,讓發起請求變得非常容易;https://www.npmjs.com/package/request //指定靜態資源訪問目錄 // app.use(express.static(require('path').join(__dirname, 'views'))); 如果有資料夾存放資源,出現報錯的話,那就多use幾次就可以了 // 設定views變數,意為檢視存放的目錄 app.use(express.static(require('path').join(__dirname, './items/dist/'))); // 做代理 app.use
('/',function(req,res){ //拿到請求的路徑來代理請求,並把響應的結果傳給request客戶端然後將目標的伺服器響應的資料傳回瀏覽器; var url = "http://localhost:3001"+req.url;//http://localhost:3001 這裡是我後臺伺服器的埠; req.pipe(request(url)).pipe(res); }); // app.set('views', __dirname); // 修改模板檔案的字尾名為html app.set('views', (__dirname + "./items/dist/")); app.set( 'view engine'
, 'html' ); // 執行ejs模組 app.engine( '.html', require( 'ejs' ).__express ); app.get("/", function(req, res) { res.render('index'); }); var server = app.listen(8889, "10.1.1.114",function(){ var host = server.address().address; var port = server.address().port; console.log("Server running at http://%s:%s", host, port) });

最後 執行:node nodeServer.js