我使用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或任何解决方案?
捆绑器的未来
您是否认为考虑到http2,EcmaScript将在不久的将来取代npm模块捆绑软件?对于npm捆绑器,我有点晚了,我不想投资将被ES取代的东西。
答案 0 :(得分:1)
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之类的脚本来捆绑脚本,就可以导入我描述的方式。
我刚刚在Axios存储库中提出了一个与以下主题有关的问题:https://github.com/axios/axios/issues/1879