Node.js
不推薦使用獲取 body-Parser 警告在 Vs 程式碼中並且無法獲取 Body 嘗試使用內置的 express
下面是
app.js文件程式碼var port = process.env.PORT || 8080; // set our port var express = require('express'); var app = express(); var bodyParser = require('body-parser') var cors = require('cors'); var indexRouter = require("./server/routes/index"); var http = require('http').Server(app); const path = require('path') const Licence = require('./server/CronJob/CronJob'); http.listen(port); app.use(cors()); app.use(bodyParser.json({ limit: '50mb' })); app.use(bodyParser.json({ type: 'application/vnd.api+json' })); app.use(bodyParser.urlencoded({ limit: '50mb', extended: true, parameterLimit: 50000 })); // parse application/json app.use(express.json()); app.use(express.urlencoded()); //Parse URL-encoded bodies app.use(function (req, res, next) { res.header("Access-Control-Allow-Origin", '*'); res.header("Access-Control-Allow-Credentials", true); res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,OPTIONS'); res.header("Access-Control-Allow-Headers", 'Origin,X-Requested-With,Content-Type,Accept,content-type,application/json'); res.header("Cache-Control", "no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0"); next(); }); app.use(express.static(path.join(__dirname, "/build"))); app.use(indexRouter); app.get('/*', function (req, res) { res.sendFile(path.join(__dirname, '/build/index.html'), function (err) { if (err) { res.status(500).send(err) } }) }) // Licence.licenceExpire(); console.log('Magic happens on port ' + port); // shoutout to the user exports = module.exports = app;版本
快遞:^4.17.1,正文解析器:^1.19.0
並且還使用了下面部落格中給出的建議
更新
我使用了內置的body-parser,但再次遇到同樣的錯誤是inbuilt body-parser的功能截圖
從 4.16.0+ 開始,body-parser 內置於 express
使用http://expressjs.com/en/api.html#express.json
app.use(express.json({ limit: '50mb' })); app.use(express.urlencoded())https://expressjs.com/en/changelog/4x.html#4.16.0
添加了 express.json() 和 express.urlencoded() 中間件以提供開箱即用的請求正文解析支持。這使用了下面的 expressjs/body-parser 模組模組,因此目前單獨需要該模組的應用程序可以切換到內置解析器。
https://github.com/expressjs/body-parser/commit/b7420f8dc5c8b17a277c9e50d72bbaf3086a3900
這棄用了解析 json 和 urlencoded 的通用 bodyParser() 中間件導出。“all”中間件非常令人困惑,因為它聽起來像是解析所有主體,儘管它不執行多部分,這是一種常見的主體類型。此外,兩個不同中間件的參數開始重疊,並且很難以這種方式進行配置。

