利用express+node 建立本地伺服器並利用node代理處理跨域請求;
阿新 • • 發佈:2019-01-08
第一步 下載安裝node.js
第二步 初始化資料夾 命令: npm init
然後一路回車
第三步 安裝express,ejs, request,
npm install express ejs request –save-dev
在初始化檔案下新建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