【发布时间】:2021-10-12 01:15:04
【问题描述】:
所以,我只想在浏览器中使用 axios 和 ESM 模块。
index.html
<body>
<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
<script src="./app.js" type="module"></script>
</body>
app.js
console.log(window.axios !== undefined); // true
const { data } = await axios.get(
"https://jsonplaceholder.typicode.com/users/1"
);
console.log(data.username); // Bret
上面的 sn-p 工作正常,但我不希望它是这样的(即将axios 添加到window)。
我认为下面的解决方案(直接从 URL 导入)会起作用,但它不起作用。
index.html
<body>
<script src="./app.js" type="module"></script>
</body>
app.js
import axios from "https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js";
console.log(window.axios !== undefined);
const { data } = await axios.get(
"https://jsonplaceholder.typicode.com/users/1"
);
console.log(data.username);
我知道 模块说明符 可以是完整的 URL(或相对路径),但在这种情况下似乎不起作用,为什么?我收到以下错误。
未捕获的语法错误:请求的模块“https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js”未提供名为“default”的导出
【问题讨论】:
标签: javascript axios es6-modules