gpt4 book ai didi

javascript - 将 npm 模块与 ES6 和 npm/bundlers 的 future 结合使用

转载 作者:行者123 更新时间:2023-12-03 00:44:08 26 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 构建堆栈,或 Svelte。

使用 redaxios 可以在 ES6 中重写 20% 的大小,但并非所有功能(例如缺少拦截器),包括正确的导出.

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

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