我有一个使用Axios的工作网站,现在它不工作了。控制台中的错误显示";TypeError:axios.get不是一个函数;。我正在客户端从一个普通CDN加载Axios。这个图书馆发生了什么变化,我该怎么做才能让我的网站重新工作?
以下是演示这种情况的最低限度的代码。
/* eslint-env browser */
/* global api */
const api = (function(){
const baseURL = "/api";
const token = "fakeTOKENhere";
const config = {headers: { Authorization: `Bearer ${token}` }};
return {
ping: function(){
return axios.get( baseURL + "/ping", config);
}
};
})();
api.ping()
.then( (response) => {
console.log(response.data);
if(!response.data || response.data.status != "OK"){
console.log("bad");
} else {
console.log("good");
}
}).catch(() => {
console.log("error");
});
<!DOCTYPE html>
<html lang="en">
<body>
<h1>test code</h1>
</body>
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<script src="/js/test.js"></script>
</html>
临时修复
Axios v1.0似乎有一个错误
Axios v1.0.0有一个不同的
你现在必须使用它的旧版本。
<script src="https://unpkg.com/axios@0.27.2/dist/axios.min.js"></script>
使用包管理器
如果您希望将来不会出现类似的问题,可以使用npm
或其他包管理器进行下载,并检查这些库的版本。否则,您将始终获得最新版本,这样的问题可能会发生。
npm i axios@0.27.2