Uncaught (in promise) ReferenceError: axios is not defined



当我尝试加载我的html页面时,我得到这个错误:

Uncaught (in promise) ReferenceError: axios未定义at get (index.js:7)

当我导入它作为import axios from 'axios';时,我得到:

Uncaught SyntaxError:不能在模块外使用import语句

所以不管怎样它都不能正常工作。我也使用了npm install axios,并在html文件中提到了源代码:

<script src="https://cdnjs.cloudflare.com/ajax/libs/axios/0.23.0/axios.js"></script>

<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
我只是没有注意到我可能做错了什么。下面是脚本示例:
const apiUrl = 'http://localhost:8000/api/';

async function get(url) {
return (await axios(url)).data;
}

async function loadTable() {
let data = await get(apiUrl + 'getList');
let tableDiv = document.getElementById('tableData');
// and so on

我得到了api运行正常,唯一的问题是这个axio引用。节点脚本在另一个.js文件中运行良好,Postman也可以识别它,没有问题。相同的端口,相同的URL

如果这是一个HTML页面,就像您在浏览器中打开的页面一样,npm将无法为您添加Axios到页面中。您可以将Node.js代码视为服务器端,而浏览器视为客户端(注意,并非总是如此,但这里确实如此)。

还请注意,import是用于Node.js代码的,如果没有额外的框架,将无法在HTML代码中工作,我假设您在这里没有使用。

您的script标签是正确的,但是它们可能没有在正确的点添加到您的HTML文件中。您可以使用这两种配置中的任何一种,并且它应该可以工作:

脚本在之前导入创建页面的元素:

<head>
...
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
...
</head>
<body>
...
<script src="yourCustomCode"></script>
<body>

脚本正在导入之后的创建页面的元素:

<head>
...
</head>
<body>
...
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<script src="yourCustomCode"></script>
<body>

无论哪种方式,只要确保Axios包比您想要使用Axios运行的代码更高.

最新更新