gpt4 book ai didi

javascript - 将 npm 模块与 ES6 和 npm/bundlers 的 future 一起使用

转载 作者:行者123 更新时间:2023-12-04 12:03:29 25 4
gpt4 key购买 nike

我使用 ES6 有一段时间了,没有使用 npm 或 node.js 的经验。
我想在使用 ES6 的项目中使用一些 npm 模块。
我尝试关注并收到错误

import {axios} from './axios.js';
请求的模块“./axios.min.js”不提供名为“axios”的导出
我正在尝试使用 https://github.com/axios/axios/blob/master/dist/axios.js
我不想使用 <script src="..."></script>标签实现。我想用 ES6 模块按需加载它。
是否有任何帮助脚本可以使 npm 模块适应 ES6 或任何解决方案?

最佳答案

import {axios} from './axios.js';
将要求 Axios 有一个命名导出,例如
export function axios(...params) { ... }
不过,Axios 确实有一个默认导出,您可以在没有花括号的情况下导入它:
import axios from './axios.js';
要在浏览器中进行导入,您需要使用 type="module" 声明导入脚本:
<script type="module" src="./js/main.js"></script>
编辑:
检查您提供的 URL 似乎 Axios 根本不提供 ECMAScript 模块。只要您使用 webpack 之类的东西来捆绑脚本,导入我描述的方式就可以了。
编辑2:
我刚刚在 Axios 存储库上提交了一个关于该主题的问题: https://github.com/axios/axios/issues/1879
编辑 3(2021 年 4 月):
三年后,即使是 Node.js 也支持 ES 模块,但 Axios 似乎停留在一个看起来不太可能更新的旧代码库上,当您想将 Axios 与 Vue.js 3/Vite 构建堆栈一起使用时,这会导致问题,或者 slim 。
interceptors 可以在 ES6 中重写 20% 的大小但并非所有功能(例如 redaxios 缺失),包括正确导出.

关于javascript - 将 npm 模块与 ES6 和 npm/bundlers 的 future 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54878516/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com