使用vue-cli創(chuàng)建的uniapp項(xiàng)目,在封裝axios時(shí),寫了如下代碼:
axiosInter.defaults.adapter = function (config) {
return new Promise((resolve, reject) => {
// console.log(config)
var settle = require("axios/lib/core/settle");
var buildURL = require("axios/lib/helpers/buildURL");
uni.request({
method: config.method.toUpperCase(),
url: buildURL(config.url, config.params, config.paramsSerializer),
header: config.headers,
data: config.data,
dataType: config.dataType,
responseType: config.responseType,
sslVerify: config.sslVerify,
complete: function complete(response) {
response = {
data: response.data,
status: response.statusCode,
errMsg: response.errMsg,
header: response.header,
config: config,
};
settle(resolve, reject, response);
},
});
});
};
require('axios/lib/core/settle')時(shí)報(bào)錯(cuò)Module not found: Error: Package path ./lib/core/settle is not exported from package D:\cloud2\uniapp\node_modules\axios,
require("axios/lib/helpers/buildURL")時(shí)也同樣報(bào)錯(cuò)
解決辦法:package.json中查看axios版本為1.3.4,為當(dāng)前最新版本,猜測是因?yàn)榘姹咎邔?dǎo)致,于是重新下載舊版本0.26.1,重新啟動項(xiàng)目無報(bào)錯(cuò)。