![](/img/trans.png)
[英]How can I serve my Vuejs front end files from my node/express server?
[英]How can I make my front end app access my node server apis
我已經通過creat-react-app創建了一個前端應用程序 。
命令“ npm run start ”可以創建一個webpack-dev-server並為我的
開發的前端應用程序。 問題來了:
我該如何從這些問題開始我的發展故事!
有兩種方法可以解決節點服務器中的跨域問題:
首先安裝cors模塊。 npm install cors
然后在您的應用程序中使用它
const Express = require("express");
const BodyParser = require("body-parser");
const Cors = require("cors");
const app = Express();
app.use(Cors());
app.use(BodyParser.urlencoded({ extended: false }));
app.use(BodyParser.json());
app.listen(3001, 'localhost', (err) => {
if(err) {
console.log(err);
process.exit(-1);
}
console.log("Server listen port 8083");
});
app.use(function (req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
res.header("Access-Control-Allow-Methods", "GET, POST, OPTIONS, PUT, DELETE");
next();
});
使用NodeJS后端處理CORS的一種簡單方法是使用ExpressJS中間件和“ cors”擴展,如ExpressJS文檔中所述:
為了進行測試,有各種瀏覽器擴展會自動在所有請求中實現CORS標頭(Access-Control-Allow-Origin,Access-Control-Allow-Methods和Access-Control-Allow-Header)。 使用此擴展程序將使您從瀏覽器發出的所有請求都變為啟用CORS(不適用於生產,僅用於測試/開發)。
請注意,所謂的“簡單請求”(僅使用GET / HEAD / POST和以下內容類型的請求):application / x-www-form-urlencoded,multipart / form-data,text / plain不會觸發CORS預檢請求所以他們被允許。
對於CORS的一般理解,我可以參考Mozilla MDN文檔:
解決CORS問題的最簡單方法是對cors使用npm模塊。 使用以下命令將其安裝在您的項目中:
npm i cors
然后將其包含在您的app.js文件中,如下所示:
const cors = require('cors');
然后將其用作app.js中的中間件,如下所示:
app.use(cors());
這應該做! 希望這可以幫助!!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.